aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/hrtimers.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/hrtimers.txt')
-rw-r--r--Documentation/hrtimers.txt12
1 files changed, 6 insertions, 6 deletions
diff --git a/Documentation/hrtimers.txt b/Documentation/hrtimers.txt
index 7620ff735faf..ce31f65e12e7 100644
--- a/Documentation/hrtimers.txt
+++ b/Documentation/hrtimers.txt
@@ -10,7 +10,7 @@ back and forth trying to integrate high-resolution and high-precision
10features into the existing timer framework, and after testing various 10features into the existing timer framework, and after testing various
11such high-resolution timer implementations in practice, we came to the 11such high-resolution timer implementations in practice, we came to the
12conclusion that the timer wheel code is fundamentally not suitable for 12conclusion that the timer wheel code is fundamentally not suitable for
13such an approach. We initially didnt believe this ('there must be a way 13such an approach. We initially didn't believe this ('there must be a way
14to solve this'), and spent a considerable effort trying to integrate 14to solve this'), and spent a considerable effort trying to integrate
15things into the timer wheel, but we failed. In hindsight, there are 15things into the timer wheel, but we failed. In hindsight, there are
16several reasons why such integration is hard/impossible: 16several reasons why such integration is hard/impossible:
@@ -27,7 +27,7 @@ several reasons why such integration is hard/impossible:
27 high-res timers. 27 high-res timers.
28 28
29- the unpredictable [O(N)] overhead of cascading leads to delays which 29- the unpredictable [O(N)] overhead of cascading leads to delays which
30 necessiate a more complex handling of high resolution timers, which 30 necessitate a more complex handling of high resolution timers, which
31 in turn decreases robustness. Such a design still led to rather large 31 in turn decreases robustness. Such a design still led to rather large
32 timing inaccuracies. Cascading is a fundamental property of the timer 32 timing inaccuracies. Cascading is a fundamental property of the timer
33 wheel concept, it cannot be 'designed out' without unevitably 33 wheel concept, it cannot be 'designed out' without unevitably
@@ -58,7 +58,7 @@ several reasons why such integration is hard/impossible:
58The primary users of precision timers are user-space applications that 58The primary users of precision timers are user-space applications that
59utilize nanosleep, posix-timers and itimer interfaces. Also, in-kernel 59utilize nanosleep, posix-timers and itimer interfaces. Also, in-kernel
60users like drivers and subsystems which require precise timed events 60users like drivers and subsystems which require precise timed events
61(e.g. multimedia) can benefit from the availability of a seperate 61(e.g. multimedia) can benefit from the availability of a separate
62high-resolution timer subsystem as well. 62high-resolution timer subsystem as well.
63 63
64While this subsystem does not offer high-resolution clock sources just 64While this subsystem does not offer high-resolution clock sources just
@@ -68,7 +68,7 @@ The increasing demand for realtime and multimedia applications along
68with other potential users for precise timers gives another reason to 68with other potential users for precise timers gives another reason to
69separate the "timeout" and "precise timer" subsystems. 69separate the "timeout" and "precise timer" subsystems.
70 70
71Another potential benefit is that such a seperation allows even more 71Another potential benefit is that such a separation allows even more
72special-purpose optimization of the existing timer wheel for the low 72special-purpose optimization of the existing timer wheel for the low
73resolution and low precision use cases - once the precision-sensitive 73resolution and low precision use cases - once the precision-sensitive
74APIs are separated from the timer wheel and are migrated over to 74APIs are separated from the timer wheel and are migrated over to
@@ -96,8 +96,8 @@ file systems. The rbtree is solely used for time sorted ordering, while
96a separate list is used to give the expiry code fast access to the 96a separate list is used to give the expiry code fast access to the
97queued timers, without having to walk the rbtree. 97queued timers, without having to walk the rbtree.
98 98
99(This seperate list is also useful for later when we'll introduce 99(This separate list is also useful for later when we'll introduce
100high-resolution clocks, where we need seperate pending and expired 100high-resolution clocks, where we need separate pending and expired
101queues while keeping the time-order intact.) 101queues while keeping the time-order intact.)
102 102
103Time-ordered enqueueing is not purely for the purposes of 103Time-ordered enqueueing is not purely for the purposes of