[[!template id=project title="Light weight precision user level time reading (350h)" contact=""" [tech-userlevel](mailto:tech-userlevel@NetBSD.org) """ mentors=""" [Christos Zoulas](mailto:christos@NetBSD.org) """ category="userland" difficulty="medium" duration="350h" description=""" 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 [[!template id=man name="clock_gettime" section="2" collection="NetBSD-5.1"]] and [[!template id=man name="gettimeofday" section="2" collection="NetBSD-5.1"]]. 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. Milestones: * 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](http://phk.freebsd.dk/pubs/timecounter.pdf). """ ]] [[!tag gsoc]] [[!tag gsoc350h]]