Design and implement a mechanism that allows for fast user level access to kernel time data structures for NetBSD. For certain types of small data structures the system call overhead is significant. This is especially true for frequently invoked system calls like clock_gettime(2) and gettimeofday(2). With the availability of user level readable high frequency counters it is possible to create fast implementations for precision time reading. Optimizing clock_gettime(2) and alike will reduce the strain from applications frequently calling these system calls and improves timing information quality for applications like NTP. The implementation would be based on a to-be-modified version of the timecounters implementation in NetBSD.
- Produce optimizations for clock_gettime
- Produce optimizations for gettimeofday
- Show benchmarks before and after
- start evolving timecounters in NetBSD, demonstrating your improvements
See also the Paper on Timecounters by Poul-Henning Kamp.