public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET 0/10] Time: Generic Timekeeping (v.C1)
@ 2006-03-23  3:05 john stultz
  2006-03-23  3:05 ` [PATCH 1/10] Time: Clocksource Infrastructure john stultz
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: john stultz @ 2006-03-23  3:05 UTC (permalink / raw)
  To: akpm
  Cc: john stultz, linux-kernel, george, Steven Rostedt,
	Thomas Gleixner, Ulrich Windl, Roman Zippel, Ingo Molnar,
	Paul Mackerras

Andrew, All,
	Here is an updated version of the smaller, reworked and 
improved patchset I mailed out monday. Please consider for inclusion 
into your tree.

Again, the majority of this new incremental design should be credited 
to Roman Zippel, but it is my implementation, so he gets the credit and 
I get the blame. :)

Summary:
	This patchset provides a generic timekeeping infrastructure 
that are independent of the timer interrupt. This allows for robust and 
correct behavior in cases of late or lost ticks, avoids interpolation 
errors, reduces duplication in arch specific code, and allows or 
assists future changes such as high-res timers, dynamic ticks, or 
realtime preemption. Additionally, it provides finer nanosecond 
resolution values to the clock_gettime functions. The patchset also 
converts the i386 arch to use this new infrastructure.

Changes since the C0 release:
o Cut out functions that are no longer used
o Re-arranged patch chunks so each patch makes more sense.
o Few small fixes.
o Improved comments.

On my TODO list:
o More attention on x86-64 and powerpc
o Re-add bits needed for inclusion into HRT and RT
o Try to restore cleanups via small patches

The patchset applies against the current 2.6.16-git.

The complete patchset can be found here:
	http://sr71.net/~jstultz/tod/

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, Serge Belyshev, 
Dominik Brodowski, Adrian Bunk, Thomas Gleixner, Darren Hart, Christoph 
Lameter, Matt Mackal, Keith Mannthey, Ingo Molnar, Andrew Morton, Paul 
Munt, Martin Schwidefsky, Frank Sorenson, Ulrich Windl, Jonathan 
Woithe, Darrick Wong, Roman Zippel and any others whom I've 
accidentally left off this list.

thanks
-john

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [PATCHSET 0/10] Time: Generic Timekeeping (v.C0)
@ 2006-03-18  0:39 john stultz
  2006-03-18  0:40 ` [PATCH 10/10] Time: i386 Clocksource Drivers john stultz
  0 siblings, 1 reply; 17+ messages in thread
From: john stultz @ 2006-03-18  0:39 UTC (permalink / raw)
  To: lkml
  Cc: john stultz, george, Steven Rostedt, Thomas Gleixner,
	Ulrich Windl, Roman Zippel, Ingo Molnar

All,
	So after after the last round of feedback on this series, I've 
gone back to the drawing board and have tried to further cut the patch 
set down to the bare minimum.
	
I've realized that much of the trouble getting this into mainline have 
come from my falling into the well known "here's a new subsystem that 
duplicates the old one, but is better and cleaner and fixes bugs" trap. 
Thus now I'm trying the time-tested "fix what is there with small 
patches" method (which I would have used from the start, but I didn't 
think I could make such drastic changes without breaking everyone 
first).

The majority of this new incremental design should be credited to Roman 
Zippel, but it is my implementation, so he gets the credit and I get 
the blame. :)

This is the rough first cut, so it will probably need a few extra 
passes to be cleaned up and ready for mainline. And while there should 
not be any behaviour changes, since this method also affects all arches 
from the start, extra testing will be needed to make sure it has been 
done correctly. Also more work is needed before this can be 
re-integrated w/ the -RT tree, as timekeeping is still done from 
interrupt context.


Summary:
	This patchset provides a generic timekeeping interfaces that 
are independent of the timer interrupt. This allows for robust and 
correct behavior in cases of late or lost ticks, avoids interpolation 
errors, reduces duplication in arch specific code, and allows or 
assists future changes such as high-res timers, dynamic ticks, or 
realtime preemption. Additionally, it provides finer nanosecond 
resolution values to the clock_gettime functions.


Changes since the B20 release:
o Threw out old NTP changes
o Threw out all code cleanups
o New minimal core implementation for all arches
o Added sysfs clocksource fix
o Added slow TSC detection

On my TODO list:
o Get x86-64 and powerpc patches back up and running
o Try to restore cleanups via small patches

The patchset applies against the current 2.6.16-rc6-git.

The complete patchset can be found here:
	http://sr71.net/~jstultz/tod/

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, Serge Belyshev, 
Dominik Brodowski, Adrian Bunk, Thomas Gleixner, Darren Hart, Christoph 
Lameter, Matt Mackal, Keith Mannthey, Ingo Molnar, Andrew Morton, Paul 
Munt, Martin Schwidefsky, Frank Sorenson, Ulrich Windl, Jonathan 
Woithe, Darrick Wong, Roman Zippel and any others whom I've 
accidentally left off this list.

thanks
-john

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [PATCH 0/10] Time: Generic Timeofday Subsystem (v B15-mm)
@ 2006-01-06  2:13 john stultz
  2006-01-06  2:14 ` [PATCH 10/10] Time: i386 Clocksource Drivers john stultz
  0 siblings, 1 reply; 17+ messages in thread
From: john stultz @ 2006-01-06  2:13 UTC (permalink / raw)
  To: akpm
  Cc: lkml, Ingo Molnar, George Anzinger, Roman Zippel, Ulrich Windl,
	Thomas Gleixner, Steven Rostedt, john stultz

Andrew, All,

	This patchset  provides a generic timekeeping subsystem that is 
independent of the timer interrupt. This allows for robust and correct
behavior in cases of late or lost ticks, avoids interpolation errors, 
reduces duplication in arch specific code, and allows or assists future
changes such as high-res timers, dynamic ticks, or realtime preemption.
Additionally, it provides finer nanosecond resolution values to the
clock_gettime functions.

The patch set provides the minimal NTP changes, the clocksource 
abstraction, the core timekeeping code as well as the code to convert 
i386. I have started on converting more arches, but for now I'm only 
submmiting code for i386.

As requested, I've reworked this patchset so it builds and boots every step 
of the way, resulting in one less patch in the patchset. This was done 
somewhat quickly and tested with my slow laptop, so it may be config 
dependent, but I think it should be ok. I've also tried to improve the 
patch descriptions as requested, but please let me know if they need 
more work.

Changes since the last release:
o Builds each step in the patchset
o Improved patch descriptions
o Reduced use of inline (might need more of this)
o Simplified timespec_add_ns()
o Removed unncessary additions (timer_pit sysfs bits)

The patchset applies against the 2.6.15-rc5-git + the hrtimer patch-set 
already in -mm (same as the last release).

It should replace the following patches currently in -mm:

time-reduced-ntp-rework-part-1.patch
time-reduced-ntp-rework-part-2.patch
time-clocksource-infrastructure.patch
time-generic-timekeeping-infrastructure.patch
time-i386-conversion-part-1-move-timer_pitc-to-i8253c.patch
time-i386-conversion-part-2-move-timer_tscc-to-tscc.patch
time-i386-conversion-part-3-rework-tsc-support.patch
time-i386-conversion-part-4-acpi-pm-variable-renaming-and-config-change.patch
time-i386-conversion-part-5-enable-generic-timekeeping.patch
time-i386-conversion-part-6-remove-old-code.patch
time-i386-clocksource-drivers.patch

Please note the slight re-ordering of the patches and that one patch has 
been removed from the set.

The complete patchset (including code for x86-64) can be found here:
	http://sr71.net/~jstultz/tod/

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, Serge Belyshev,
Dominik Brodowski, Thomas Gleixner, Darren Hart, Christoph Lameter, 
Matt Mackal, Keith Mannthey, Ingo Molnar, Martin Schwidefsky, Frank
Sorenson, Ulrich Windl, Jonathan Woithe, Darrick Wong, Roman Zippel 
and any others whom I've accidentally left off this list.

Andrew, please consider for inclusion into your tree.

thanks 
-john

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2006-03-23 19:40 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-23  3:05 [PATCHSET 0/10] Time: Generic Timekeeping (v.C1) john stultz
2006-03-23  3:05 ` [PATCH 1/10] Time: Clocksource Infrastructure john stultz
2006-03-23  3:06 ` [PATCH 2/10] Time: Use clocksource infrastructure for update_wall_time john stultz
2006-03-23  3:06 ` [PATCH 3/10] Time: Let user request precision from current_tick_length() john stultz
2006-03-23  3:06 ` [PATCH 4/10] Time: Use clocksource abstraction for NTP adjustments john stultz
2006-03-23  3:06 ` [PATCH 5/10] Time: Introduce arch generic time accessors john stultz
2006-03-23  3:06 ` [PATCH 6/10] Time: i386 Conversion - part 1: Move timer_pit.c to i8253.c john stultz
2006-03-23  3:06 ` [PATCH 7/10] Time: i386 Conversion - part 2: Rework TSC Support john stultz
2006-03-23  3:06 ` [PATCH 8/10] Time: i386 Conversion - part 3: Enable Generic Timekeeping john stultz
2006-03-23  3:06 ` [PATCH 9/10] Time: i386 Conversion - part 4: Remove Old timer_opts Code john stultz
2006-03-23  3:06 ` [PATCH 10/10] Time: i386 Clocksource Drivers john stultz
2006-03-23 12:48 ` [PATCHSET 0/10] Time: Generic Timekeeping (v.C1) Roman Zippel
2006-03-23 14:20   ` Thomas Gleixner
2006-03-23 13:45     ` Roman Zippel
2006-03-23 19:40   ` john stultz
  -- strict thread matches above, loose matches on Subject: below --
2006-03-18  0:39 [PATCHSET 0/10] Time: Generic Timekeeping (v.C0) john stultz
2006-03-18  0:40 ` [PATCH 10/10] Time: i386 Clocksource Drivers john stultz
2006-01-06  2:13 [PATCH 0/10] Time: Generic Timeofday Subsystem (v B15-mm) john stultz
2006-01-06  2:14 ` [PATCH 10/10] Time: i386 Clocksource Drivers john stultz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox