diff options
Diffstat (limited to 'Documentation/hrtimers.txt')
-rw-r--r-- | Documentation/hrtimers.txt | 12 |
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 | |||
10 | features into the existing timer framework, and after testing various | 10 | features into the existing timer framework, and after testing various |
11 | such high-resolution timer implementations in practice, we came to the | 11 | such high-resolution timer implementations in practice, we came to the |
12 | conclusion that the timer wheel code is fundamentally not suitable for | 12 | conclusion that the timer wheel code is fundamentally not suitable for |
13 | such an approach. We initially didnt believe this ('there must be a way | 13 | such an approach. We initially didn't believe this ('there must be a way |
14 | to solve this'), and spent a considerable effort trying to integrate | 14 | to solve this'), and spent a considerable effort trying to integrate |
15 | things into the timer wheel, but we failed. In hindsight, there are | 15 | things into the timer wheel, but we failed. In hindsight, there are |
16 | several reasons why such integration is hard/impossible: | 16 | several 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: | |||
58 | The primary users of precision timers are user-space applications that | 58 | The primary users of precision timers are user-space applications that |
59 | utilize nanosleep, posix-timers and itimer interfaces. Also, in-kernel | 59 | utilize nanosleep, posix-timers and itimer interfaces. Also, in-kernel |
60 | users like drivers and subsystems which require precise timed events | 60 | users 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 |
62 | high-resolution timer subsystem as well. | 62 | high-resolution timer subsystem as well. |
63 | 63 | ||
64 | While this subsystem does not offer high-resolution clock sources just | 64 | While this subsystem does not offer high-resolution clock sources just |
@@ -68,7 +68,7 @@ The increasing demand for realtime and multimedia applications along | |||
68 | with other potential users for precise timers gives another reason to | 68 | with other potential users for precise timers gives another reason to |
69 | separate the "timeout" and "precise timer" subsystems. | 69 | separate the "timeout" and "precise timer" subsystems. |
70 | 70 | ||
71 | Another potential benefit is that such a seperation allows even more | 71 | Another potential benefit is that such a separation allows even more |
72 | special-purpose optimization of the existing timer wheel for the low | 72 | special-purpose optimization of the existing timer wheel for the low |
73 | resolution and low precision use cases - once the precision-sensitive | 73 | resolution and low precision use cases - once the precision-sensitive |
74 | APIs are separated from the timer wheel and are migrated over to | 74 | APIs 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 | |||
96 | a separate list is used to give the expiry code fast access to the | 96 | a separate list is used to give the expiry code fast access to the |
97 | queued timers, without having to walk the rbtree. | 97 | queued 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 |
100 | high-resolution clocks, where we need seperate pending and expired | 100 | high-resolution clocks, where we need separate pending and expired |
101 | queues while keeping the time-order intact.) | 101 | queues while keeping the time-order intact.) |
102 | 102 | ||
103 | Time-ordered enqueueing is not purely for the purposes of | 103 | Time-ordered enqueueing is not purely for the purposes of |