Time namespace

Revision as of 04:56, 23 April 2020 by Avagin (talk | contribs)

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.

The time namespace support in CRIU has been merged in the 3.14 release.

TODO

Maybe later

  • Make start-time remain "unchanged" after C/R
  • arm64/arm32/s390/power64 - add archs vvar support (nit: big/little-endianess for timespec::nsec)
  • REALTIME-related:
    • REALTIME offsets
    • vvar offsets will need synchronization (like gtod_read_begin()/gtod_read_retry())
    • vfs modification/creation time should work
    • starttime in /proc/pid/stat
    • btime in /proc/stat
    • utime()/utimes()/futimesat() (with times == NULL)
    • utimensat()/futimens() - with UTIME_NOW
    • mq_timedsend()/mq_timedreceive()
    • semtimedop()
  • Adjtime (too complicated for PoC)
  • Cpu time for thread/pid/pgid (times())
  • /proc/stat ticks? (top uses them e.g.)
  • pid creation time (probably different unrelated API)
  • clock_tai - if we care about isolation from host's time
  • What about other kinds of counters like perf events and trace events?

Links