Re: [ANNOUNCE] high-res-timers patches for 2.6.6
From: George Anzinger
Date: Mon Jun 14 2004 - 15:51:54 EST
Mark Gross wrote:
On Friday 11 June 2004 15:33, George Anzinger wrote:
I have been thinking of a major rewrite which would leave this code alone,
but would introduce an additional list and, of course, overhead for
high-res timers. This will take some time and be sub optimal, so I wonder
if it is needed.
What would your goal for the major rewrite be?
Redesign the implementation?
Clean up / re-factor the current design?
Add features?
Mostly I would like to make it "clean" enough to get the community to accept it.
As I look at the current implemtation, the biggest intrusion into the "normal"
kernel is in the timer list area. Thus, my thinking is to introduce a second or
slave list which would only be used by HR timers. This list would be "checked"
by putting a "normal" i.e. add_timer, timer in place to mark the jiffie that a
HR timer was to expire in. The "check" code would then set up the HR interrupt
to expire the timer.
I am also considering removing a lot of the ifdefs one way or another. AND, I
think I can make the whole thing configureable at boot time just as the
pm/TSC/etc. timers are.
I've been wondering lately if a significant restructuring of the
implementation could be done. Something bottom's up that enabled changing /
using different time bases without rebooting and coexisted nicely with HPET.
Something along the lines of;
* abstracting the time base's, calibration and computation of the next
interrupt time into a polymorphic interface along with the implementation of
a few of your time bases (ACPI, TSC) as a stand allown patch.
Uh, is this something like the current TSC/ pmtimer/ HPET/ PIT selection code in
the x86? Or do you have something else in mind here. Given the goal of
integration with and inclusion in the kernel.org kernel, I don't want to wander
too far from what they are doing now.
* implement yet another polymorphic interface for the interrupt source used by
the patch, along with a few interrupt sources (PIT, APIC, HPET <-- new )
* Implement a simple RTC-like charactor driver using the above for testing and
integration.
I am not sure what wants to be done here. I have to keep in mind that x86 is
only one of many archs. I would like to keep it as simple as possible in this
area. See the include/linux/hrtime.h file for the arch interface we are now using.
* Finally a patch to integrate the first 3 with the POSIX timers code.
What do you think?
--mgross
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/