diff options
| author | Pierre Peiffer <[email protected]> | 2007-05-09 02:35:02 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2007-05-09 12:30:55 -0700 |
| commit | c19384b5b296905d4988c7c684ff540a0f9d65be (patch) | |
| tree | 071cfe0855d409d63de80ec1b9b663738efb09de /include/linux/debugobjects.h | |
| parent | ec92d08292d3e9b0823eba138a4564d2d39f25c7 (diff) | |
Make futex_wait() use an hrtimer for timeout
This patch modifies futex_wait() to use an hrtimer + schedule() in place of
schedule_timeout().
schedule_timeout() is tick based, therefore the timeout granularity is the
tick (1 ms, 4 ms or 10 ms depending on HZ). By using a high resolution timer
for timeout wakeup, we can attain a much finer timeout granularity (in the
microsecond range). This parallels what is already done for futex_lock_pi().
The timeout passed to the syscall is no longer converted to jiffies and is
therefore passed to do_futex() and futex_wait() as an absolute ktime_t
therefore keeping nanosecond resolution.
Also this removes the need to pass the nanoseconds timeout part to
futex_lock_pi() in val2.
In futex_wait(), if there is no timeout then a regular schedule() is
performed. Otherwise, an hrtimer is fired before schedule() is called.
[[email protected]: fix `make headers_check']
Signed-off-by: Sebastien Dugue <[email protected]>
Signed-off-by: Pierre Peiffer <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Ulrich Drepper <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions