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>
This commit is contained in:
Arjan van de Ven 2008-09-07 15:31:39 -07:00
Родитель da8f2e170e
Коммит 4ce105d30e
2 изменённых файлов: 3 добавлений и 4 удалений

Просмотреть файл

@ -46,7 +46,7 @@ static unsigned long __estimate_accuracy(struct timespec *tv)
unsigned long slack; unsigned long slack;
int divfactor = 1000; int divfactor = 1000;
if (task_nice(current)) if (task_nice(current) > 0)
divfactor = divfactor / 5; divfactor = divfactor / 5;
slack = tv->tv_nsec / divfactor; 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. * Realtime tasks get a slack of 0 for obvious reasons.
*/ */
if (current->policy == SCHED_FIFO || if (rt_task(current))
current->policy == SCHED_RR)
return 0; return 0;
ktime_get_ts(&now); ktime_get_ts(&now);

Просмотреть файл

@ -363,7 +363,7 @@ static inline int hrtimer_start_expires(struct hrtimer *timer,
soft = hrtimer_get_softexpires(timer); soft = hrtimer_get_softexpires(timer);
hard = hrtimer_get_expires(timer); hard = hrtimer_get_expires(timer);
delta = ktime_to_ns(ktime_sub(hard, soft)); 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) static inline int hrtimer_restart(struct hrtimer *timer)