|| ||john stultz <email@example.com>|
|| ||lkml <firstname.lastname@example.org>|
|| ||[RFC][PATCH 0/12] Generic Timeofday Subsystem (v B9)|
|| ||Tue, 01 Nov 2005 14:23:14 -0800|
|| ||Ingo Molnar <email@example.com>, Darren Hart <firstname.lastname@example.org>,
Nishanth Aravamudan <email@example.com>,
Frank Sorenson <firstname.lastname@example.org>,
George Anzinger <email@example.com>,
Roman Zippel <firstname.lastname@example.org>,
Ulrich Windl <email@example.com>,
Thomas Gleixner <firstname.lastname@example.org>|
The following patchset applies against 2.6.14-rc5-mm1 (with a bit of
offset/fuzz) and provides a generic timekeeping subsystem that is
independent of the timer interrupt. The allows for robust and correct
behavior in cases of late or lost ticks, avoids interpolation errors,
and allows or assists future changes such as high-res timers, dynamic
ticks, and real-time preemption. Additionally, since timekeeping is done
with nanosecond granularity, it provides finer nanosecond resolution
values to the clock_gettime and related functions.
The patch set consists of the minimal NTP changes, the clocksource
abstraction, the core timekeeping code as well as the code to convert
the i386 and x86-64 archs. I have started on converting other arches,
but for now I'm focusing on i386 and x86-64.
Thomas Gleixner has been *very* helpful in reviewing and suggesting
changes to the code, so many thanks to him for his help!
New in this release:
o CONFIG option name change
o Added is_continuous flag to clocksource structure
o Moved to a switchless clocksource_read() function
o Reworked the vsyscall implementation to handle new read code
o Rebased ontop of Thomas' ktimer work already in -mm
o Transitioned to using primarily ktime_t units instead of nsec_t
o Moved TSC and HPET clocksource implementations to be closer to related
o Many comment and minor code cleanups
Still on the TODO list:
o Further minor coding style cleanups (let me know if you see any!)
o Further x86-64 arch cleanups.
o Submit to -mm (planned for the next release)
I'd like to thank the following people who have contributed ideas,
criticism, testing and code that has helped shape this work:
George Anzinger, Nish Aravamudan, Max Asbock, Dominik Brodowski, Thomas
Gleixner, Darren Hart, Christoph Lameter, Matt Mackal, Keith Mannthey,
Ingo Molnar, Martin Schwidefsky, Frank Sorenson, Ulrich Windl, Darrick
Wong, Roman Zippel and any others whom I've accidentally forgotten.
Please let me know if you have any comments or feedback.