Messages in this thread | | | Date | Tue, 29 Nov 2005 02:33:58 +0100 (CET) | From | Roman Zippel <> | Subject | [PATCH 0/9] high precision timer |
| |
Hi,
(I forgot to Cc: lkml, so I'll only resend the first mail to all and the patches only to the list. Sorry for the extra mails.)
This patch series is a reduced and fixed version of the ktimer patch. Instead of one large patch it introduces the basic infrastructure via a few patches, which should be a lot easier to review and it implements the majority of the functionality with less code.
The main differences are:
- I renamed it to ptimer, which stands now for precise timer (or even shorter for high precision timer). ktimer is a rather generic term and the k prefix is usually only used to describe something unique to the kernel or to distinguish it from a user space counterpart, but we have now two timer systems, so that ktimer makes it a bit awkward to talk about that other timer system - both are kernel timer.
- interval handling: this causes a big increase in the complexity in the ktimer, for bascially just one user - posix timer. I left most of the interval code in the users and only provided a generic infrastructure, which allows simple interval timers, but leaves enough flexibility at how they want implement them.
- resolution handling: although ptimer provides now the basic infrastructure for higher resolution, posix timer/itimer still provide only the current jiffies resolution and it does so as close as possible to old behaviour. OTOH almost all the jiffies conversion are gone now and the common path has only relatively simple 64bit math. Proper higher resolution require a better clock abstraction than Linux currently has. (More details are in the ktime_t patch.)
Fixes:
- clock_nanosleep(): interrupted absolute sleeps did modify the return value. The old code didn't and the spec agrees with that. - the overrun count is not properly updated while the signal is disabled.
I hope these patches provide a better base for a discussion of what is needed for full high resolution timers. I intentionally kept the ptimer code as simple as possible to make it easier to reuse, e.g. cpu timers can be converted to ktime_t and that may make it possible to share same code with ptimer. IMO further development should concentrate on a better clock abstraction, hopefully I find now a bit more to help John with the ntp part of his patches.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |