diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2011-09-14 14:48:43 +0200 |
|---|---|---|
| committer | Clark Williams <williams@redhat.com> | 2012-02-15 10:32:45 -0600 |
| commit | 6299f68e5b5b8aea4ce76462efd4adf116ad69f4 (patch) | |
| tree | 5ee1afd5c013380d8cb85a95b3f0a6f460580705 | |
| parent | dbfb7ed7ae1e8776083f71b3c1989c32b4092359 (diff) | |
hrtimer-fix-reprogram-madness.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| -rw-r--r-- | kernel/hrtimer.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index d363df8477b7..3991464c3066 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -1317,7 +1317,11 @@ static void hrtimer_rt_reprogram(int restart, struct hrtimer *timer, if (!enqueue_hrtimer(timer, base)) return; - if (hrtimer_reprogram(timer, base)) +#ifndef CONFIG_HIGH_RES_TIMERS + } +#else + if (base->cpu_base->hres_active && + hrtimer_reprogram(timer, base)) goto requeue; } else if (hrtimer_active(timer)) { @@ -1326,6 +1330,7 @@ static void hrtimer_rt_reprogram(int restart, struct hrtimer *timer, * the event device. */ if (&timer->node == base->active.next && + base->cpu_base->hres_active && hrtimer_reprogram(timer, base)) goto requeue; } @@ -1338,6 +1343,7 @@ requeue: */ __remove_hrtimer(timer, base, timer->state, 0); list_add_tail(&timer->cb_entry, &base->expired); +#endif } /* |
