Difference between revisions of "Time namespace"

From CRIU
Jump to navigation Jump to search
(move REALTIME-related from RFC)
Line 10: Line 10:
 
* timerfd
 
* timerfd
 
* timer_create()
 
* timer_create()
* REALTIME offsets
 
 
* COARSE times
 
* COARSE times
 
* RAW time
 
* RAW time
* vfs modification/creation time should work
 
* utime()/utimes()/futimesat() (with times == NULL)
 
* utimensat()/futimens() - with UTIME_NOW
 
 
* clock_nanosleep()
 
* clock_nanosleep()
* mq_timedsend()/mq_timedreceive()
 
* semtimedop()
 
 
* btime in /proc/stat (used by pstools)
 
* btime in /proc/stat (used by pstools)
 
* starttime in /proc/pid/stat
 
* starttime in /proc/pid/stat
Line 24: Line 18:
 
==Maybe later==
 
==Maybe later==
 
* arm64/arm32/s390/power64 - add archs vvar support
 
* arm64/arm32/s390/power64 - add archs vvar support
 +
* 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)
 
* Adjtime (too complicated for PoC)
 
* Cpu time for thread/pid/pgid (times())
 
* Cpu time for thread/pid/pgid (times())

Revision as of 18:16, 13 August 2018

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

Maybe later

  • arm64/arm32/s390/power64 - add archs vvar support
  • 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