Difference between revisions of "Time namespace"
Jump to navigation
Jump to search
Line 45: | Line 45: | ||
* [https://www.landley.net/kdocs/ols/2006/ols2006v1-pages-101-112.pdf Multiple Instances of the Global Linux Namespaces] | * [https://www.landley.net/kdocs/ols/2006/ols2006v1-pages-101-112.pdf Multiple Instances of the Global Linux Namespaces] | ||
* [https://github.com/littlepretty/VirtualTimeKernel VirtualTimeKernel] | * [https://github.com/littlepretty/VirtualTimeKernel VirtualTimeKernel] | ||
+ | * [http://publish.illinois.edu/science-of-security-lablet/files/2014/05/DSSnet-A-Smart-Grid-Modeling-Platform-Combining-Electrical-Power-Distributtion-System-Simulation-and-Software-Defined-Networking-Emulation.pdf Article about usage of time namespace in VirtualTimeKernel] | ||
[[Category: Empty articles]] | [[Category: Empty articles]] | ||
[[Category: Plans]] | [[Category: Plans]] |
Revision as of 00:42, 16 August 2018
Two things (for now) we want to solve with this:
- Shift timer's offsets
- Make start-time remain "unchanged" after C/R
- Continuous flow of monotonic time (CLOCK_MONOTONIC).
What about other kinds of counters like perf events and trace events?
TODO
Required in RFC
- starttime in /proc/pid/stat
- 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
- 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