File:  [NetBSD Developer Wiki] / wikisrc / projects / project / fast-time.mdwn
Revision 1.3: download - view: text, annotated - select for diffs
Fri Feb 20 16:42:42 2015 UTC (4 years, 9 months ago) by mspo
Branches: MAIN
CVS tags: HEAD
add 'milestones' to a bunch of pojects, take 1

[[!template id=project

title="Light weight precision user level time reading"

contact="""
[tech-userlevel](mailto:tech-userlevel@NetBSD.org)
"""

mentors="""
[Christos Zoulas](mailto:christos@NetBSD.org)
"""

category="userland"
difficulty="medium"
duration="3 months"

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 [clock_gettime(2)](http://netbsd.gw.com/cgi-bin/man-cgi?clock_gettime+2+NetBSD-5.1+i386) and [gettimeofday(2)](http://netbsd.gw.com/cgi-bin/man-cgi?gettimeofday+2+NetBSD-5.1+i386). 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]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb