aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/hrtimers.txt
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-10-03 19:35:11 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-03 19:35:11 -0400
commit708e16892e1646594a29eaa7ac7b209b600b9fd2 (patch)
treefe7c31bc0edef84eb1075c7e195340047d6aaa17 /Documentation/hrtimers.txt
parentf3c87a8999c28f2948ebd407574f7e9fb5c577b2 (diff)
parenta847825970e741e20a09c659978baa34016b63bc (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (39 commits) Add missing maintainer countries in CREDITS Fix bytes <-> kilobytes typo in Kconfig for ramdisk fix a typo in Documentation/pi-futex.txt BUG_ON conversion for fs/xfs/ BUG_ON() conversion in fs/nfsd/ BUG_ON conversion for fs/reiserfs BUG_ON cleanups in arch/i386 BUG_ON cleanup in drivers/net/tokenring/ BUG_ON cleanup for drivers/md/ kerneldoc-typo in led-class.c debugfs: spelling fix rcutorture: Fix incorrect description of default for nreaders parameter parport: Remove space in function calls Michal Wronski: update contact info Spelling fix: "control" instead of "cotrol" reboot parameter in Documentation/kernel-parameters.txt Fix copy&waste bug in comment in scripts/kernel-doc remove duplicate "until" from kernel/workqueue.c ite_gpio fix tabbage fix file specification in comments ... Fixed trivial path conflicts due to removed files: arch/mips/dec/boot/decstation.c, drivers/char/ite_gpio.c
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