diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 13:53:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 13:53:02 -0400 |
commit | 1f6d6e8ebe73ba9d9d4c693f7f6f50f661dbd6e4 (patch) | |
tree | be7a2d20b1728da5a0d844a6f4cd382b2c2569fb /drivers | |
parent | db563fc2e80534f98c7f9121a6f7dfe41f177a79 (diff) | |
parent | 268a3dcfea2077fca60d3715caa5c96f9b5e6ea7 (diff) |
Merge branch 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)
hrtimers: add missing docbook comments to struct hrtimer
hrtimers: simplify hrtimer_peek_ahead_timers()
hrtimers: fix docbook comments
DECLARE_PER_CPU needs linux/percpu.h
hrtimers: fix typo
rangetimers: fix the bug reported by Ingo for real
rangetimer: fix BUG_ON reported by Ingo
rangetimer: fix x86 build failure for the !HRTIMERS case
select: fix alpha OSF wrapper
select: fix alpha OSF wrapper
hrtimer: peek at the timer queue just before going idle
hrtimer: make the futex() system call use the per process slack value
hrtimer: make the nanosleep() syscall use the per process slack
hrtimer: fix signed/unsigned bug in slack estimator
hrtimer: show the timer ranges in /proc/timer_list
hrtimer: incorporate feedback from Peter Zijlstra
hrtimer: add a hrtimer_start_range() function
hrtimer: another build fix
hrtimer: fix build bug found by Ingo
hrtimer: make select() and poll() use the hrtimer range feature
...
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/cpuidle/cpuidle.c | 7 | ||||
-rw-r--r-- | drivers/s390/crypto/ap_bus.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c index bb6e3b338043..5bed73329ef8 100644 --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/cpu.h> | 16 | #include <linux/cpu.h> |
17 | #include <linux/cpuidle.h> | 17 | #include <linux/cpuidle.h> |
18 | #include <linux/ktime.h> | 18 | #include <linux/ktime.h> |
19 | #include <linux/hrtimer.h> | ||
19 | 20 | ||
20 | #include "cpuidle.h" | 21 | #include "cpuidle.h" |
21 | 22 | ||
@@ -64,6 +65,12 @@ static void cpuidle_idle_call(void) | |||
64 | return; | 65 | return; |
65 | } | 66 | } |
66 | 67 | ||
68 | /* | ||
69 | * run any timers that can be run now, at this point | ||
70 | * before calculating the idle duration etc. | ||
71 | */ | ||
72 | hrtimer_peek_ahead_timers(); | ||
73 | |||
67 | /* ask the governor for the next state */ | 74 | /* ask the governor for the next state */ |
68 | next_state = cpuidle_curr_governor->select(dev); | 75 | next_state = cpuidle_curr_governor->select(dev); |
69 | if (need_resched()) | 76 | if (need_resched()) |
diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c index 326db1e827c4..e3fe6838293a 100644 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c | |||
@@ -659,9 +659,9 @@ static ssize_t poll_timeout_store(struct bus_type *bus, const char *buf, | |||
659 | hr_time = ktime_set(0, poll_timeout); | 659 | hr_time = ktime_set(0, poll_timeout); |
660 | 660 | ||
661 | if (!hrtimer_is_queued(&ap_poll_timer) || | 661 | if (!hrtimer_is_queued(&ap_poll_timer) || |
662 | !hrtimer_forward(&ap_poll_timer, ap_poll_timer.expires, hr_time)) { | 662 | !hrtimer_forward(&ap_poll_timer, hrtimer_get_expires(&ap_poll_timer), hr_time)) { |
663 | ap_poll_timer.expires = hr_time; | 663 | hrtimer_set_expires(&ap_poll_timer, hr_time); |
664 | hrtimer_start(&ap_poll_timer, hr_time, HRTIMER_MODE_ABS); | 664 | hrtimer_start_expires(&ap_poll_timer, HRTIMER_MODE_ABS); |
665 | } | 665 | } |
666 | return count; | 666 | return count; |
667 | } | 667 | } |