Difference between revisions of "Time namespace"

From CRIU
Jump to: navigation, search
(Links)
(Links)
Line 39: Line 39:
  
 
=Links=
 
=Links=
 
+
* [https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2018-November/006210.html 11/01/2018 <nowiki>[Ksummit-discuss] [TECH-TOPIC] Multiple time domains</nowiki>]
 
* [https://lwn.net/Articles/766089/ 09/2018 LWN: Time namespaces]
 
* [https://lwn.net/Articles/766089/ 09/2018 LWN: Time namespaces]
 
* [https://lkml.org/lkml/2018/9/19/950 09/2018 RFC 00/20 ns: Introduce Time Namespace]
 
* [https://lkml.org/lkml/2018/9/19/950 09/2018 RFC 00/20 ns: Introduce Time Namespace]

Revision as of 20:09, 10 November 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

  • selftests to test all we've added
  • 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)
  • 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()
    • 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