Line 1: |
Line 1: |
− | Two things (for now) we want to solve with this:
| + | The time namespace support has been merged in the 5.6 kernel. The current implementation allows setting per-namespace offsets to the system monotonic and boot-time clocks. |
− | # Shift timer's offsets
| |
− | # Make start-time remain "unchanged" after C/R
| |
− | # Continuous flow of monotonic time (CLOCK_MONOTONIC).
| |
| | | |
− | What about other kinds of counters like perf events and trace events?
| + | [https://github.com/checkpoint-restore/criu/pull/1002 The time namespace support] in CRIU has been merged in the [[Download/criu/3.14 | 3.14 release]]. |
| | | |
| =TODO= | | =TODO= |
− | ==Required in RFC== | + | ==Maybe later== |
| | | |
− | * selftests to test all we've added | + | * Make start-time remain "unchanged" after C/R |
− | * TIME_NS iffdefery everywhere
| |
− | | |
− | ==Maybe later==
| |
− | * CLONE_NEWTIME reuses the last free flag from sys_clone() - any way to still keep extensibility for the syscall?
| |
| * arm64/arm32/s390/power64 - add archs vvar support (nit: big/little-endianess for timespec::nsec) | | * arm64/arm32/s390/power64 - add archs vvar support (nit: big/little-endianess for timespec::nsec) |
| * REALTIME-related: | | * REALTIME-related: |
Line 25: |
Line 18: |
| ** mq_timedsend()/mq_timedreceive() | | ** mq_timedsend()/mq_timedreceive() |
| ** semtimedop() | | ** semtimedop() |
− | ** timerfd
| |
− | ** timer_create()
| |
− | ** COARSE times
| |
− | ** clock_nanosleep()
| |
| * Adjtime (too complicated for PoC) | | * Adjtime (too complicated for PoC) |
| * Cpu time for thread/pid/pgid (times()) | | * Cpu time for thread/pid/pgid (times()) |
Line 34: |
Line 23: |
| * pid creation time (probably different unrelated API) | | * pid creation time (probably different unrelated API) |
| * clock_tai - if we care about isolation from host's time | | * clock_tai - if we care about isolation from host's time |
| + | * What about other kinds of counters like perf events and trace events? |
| | | |
| =Git= | | =Git= |