Commit 4bf0b771 authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Ingo Molnar

sched: remove do_div() from __sched_slice()

Yanmin Zhang noticed a nice optimization:

  p = l * nr / nl, nl = l/g -> p = g * nr

which eliminates a do_div() from __sched_period().
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 5d2f5a61
...@@ -248,8 +248,8 @@ static u64 __sched_period(unsigned long nr_running) ...@@ -248,8 +248,8 @@ static u64 __sched_period(unsigned long nr_running)
unsigned long nr_latency = sched_nr_latency; unsigned long nr_latency = sched_nr_latency;
if (unlikely(nr_running > nr_latency)) { if (unlikely(nr_running > nr_latency)) {
period = sysctl_sched_min_granularity;
period *= nr_running; period *= nr_running;
do_div(period, nr_latency);
} }
return period; return period;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment