diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2008-09-07 15:31:39 -0700 |
---|---|---|
committer | Arjan van de Ven <arjan@linux.intel.com> | 2008-09-07 15:31:39 -0700 |
commit | 4ce105d30e08fb8a1783c55a0e48aa3fa200c455 (patch) | |
tree | 1bfc0b3d4f987e69b16cb35dfc3dedf9ab288b1b | |
parent | da8f2e170ea94cc20f8ebbc8ee8d127edb8f12f1 (diff) | |
download | op-kernel-dev-4ce105d30e08fb8a1783c55a0e48aa3fa200c455.zip op-kernel-dev-4ce105d30e08fb8a1783c55a0e48aa3fa200c455.tar.gz |
hrtimer: incorporate feedback from Peter Zijlstra
(based on lkml review)
* use rt_task()
* task_nice() has a sign
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
-rw-r--r-- | fs/select.c | 5 | ||||
-rw-r--r-- | include/linux/hrtimer.h | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/fs/select.c b/fs/select.c index 5e61b43..fdd8584 100644 --- a/fs/select.c +++ b/fs/select.c @@ -46,7 +46,7 @@ static unsigned long __estimate_accuracy(struct timespec *tv) unsigned long slack; int divfactor = 1000; - if (task_nice(current)) + if (task_nice(current) > 0) divfactor = divfactor / 5; slack = tv->tv_nsec / divfactor; @@ -66,8 +66,7 @@ static unsigned long estimate_accuracy(struct timespec *tv) * Realtime tasks get a slack of 0 for obvious reasons. */ - if (current->policy == SCHED_FIFO || - current->policy == SCHED_RR) + if (rt_task(current)) return 0; ktime_get_ts(&now); diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 1c0473e..95db11f 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -363,7 +363,7 @@ static inline int hrtimer_start_expires(struct hrtimer *timer, soft = hrtimer_get_softexpires(timer); hard = hrtimer_get_expires(timer); delta = ktime_to_ns(ktime_sub(hard, soft)); - return hrtimer_start_range_ns(timer, hrtimer_get_expires(timer), delta, mode); + return hrtimer_start_range_ns(timer, soft, delta, mode); } static inline int hrtimer_restart(struct hrtimer *timer) |