Time namespace

From CRIU
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Two things (for now) we want to solve with this:

  1. Shift timer's offsets
  2. Make start-time remain "unchanged" after C/R
  3. Continuous flow of monotonic time (CLOCK_MONOTONIC).

What about other kinds of counters like perf events and trace events?

TODO

Required in RFC

  • btime in /proc/stat (used by pstools)
  • starttime in /proc/pid/stat
  • selftests to test all we've added
  • TIME_NS iffdefery everywhere

Maybe later

  • 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
    • utime()/utimes()/futimesat() (with times == NULL)
    • utimensat()/futimens() - with UTIME_NOW
    • mq_timedsend()/mq_timedreceive()
    • semtimedop()
    • timerfd
    • timer_create()
    • COARSE times
    • clock_nanosleep()
  • 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

Git

Links