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

  • timerfd
  • timer_create()
  • COARSE times
  • RAW time
  • clock_nanosleep()
  • 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
    • vfs modification/creation time should work
    • 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

Git

Links