projects/linux·commit 6a6029b8

sched: simplify sched_slice()

6a6029b8 · Ingo Molnar <[email protected]> · 2008-03-14 22:17:08 +01:00

Use the existing calc_delta_mine() calculation for sched_slice(). This
saves a divide and simplifies the code because we share it with the
other /cfs_rq->load users.

It also improves code size:

      text    data     bss     dec     hex filename
     42659    2740     144   45543    b1e7 sched.o.before
     42093    2740     144   44977    afb1 sched.o.after

Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Commit
6a6029b8cefe0ca7e82f27f3904dbedba3de4e06
Parents
e22ecef1

Changes

1 files changed · +2 −6

FileStatusAddDelContent
kernel/sched_fair.cmodified+2−6View file

kernel/sched_fair.c

View file
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 31aa1b9..f2cc590 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -283,12 +283,8 @@ static u64 __sched_period(unsigned long nr_running)
*/
static u64 sched_slice(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
- u64 slice = __sched_period(cfs_rq->nr_running);
-
- slice *= se->load.weight;
- do_div(slice, cfs_rq->load.weight);
-
- return slice;
+ return calc_delta_mine(__sched_period(cfs_rq->nr_running),
+ se->load.weight, &cfs_rq->load);
}
/*