Re: [RFC][PATCH 3/9] CPU controller - Adds timeslice scaling

From: Mike Galbraith
Date: Fri Apr 21 2006 - 04:16:46 EST


On Fri, 2006-04-21 at 11:27 +0900, maeda.naoaki@xxxxxxxxxxxxxx wrote:
> Index: linux-2.6.17-rc2/kernel/sched.c
> ===================================================================
> --- linux-2.6.17-rc2.orig/kernel/sched.c
> +++ linux-2.6.17-rc2/kernel/sched.c
> @@ -173,10 +173,17 @@
>
> static unsigned int task_timeslice(task_t *p)
> {
> + unsigned int timeslice;
> +
> if (p->static_prio < NICE_TO_PRIO(0))
> - return SCALE_PRIO(DEF_TIMESLICE*4, p->static_prio);
> + timeslice = SCALE_PRIO(DEF_TIMESLICE*4, p->static_prio);
> else
> - return SCALE_PRIO(DEF_TIMESLICE, p->static_prio);
> + timeslice = SCALE_PRIO(DEF_TIMESLICE, p->static_prio);
> +
> + if (!TASK_INTERACTIVE(p))
> + timeslice = cpu_rc_scale_timeslice(p, timeslice);
> +
> + return timeslice;
> }

Why does timeslice scaling become undesirable if TASK_INTERACTIVE(p)?
With this barrier, you will completely disable scaling for many loads.

Is it possible you meant !rt_task(p)?

(The only place I can see scaling as having a large effect is on gobs of
non-sleeping tasks. Slice width doesn't mean much otherwise.)

-Mike

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/