Re: [performance bug] volanomark regression on 37-rc1

From: Mike Galbraith
Date: Tue Nov 16 2010 - 12:32:34 EST


On Tue, 2010-11-16 at 08:31 -0800, Nikhil Rao wrote:
> On Tue, Nov 16, 2010 at 7:26 AM, Mike Galbraith <efault@xxxxxx> wrote:
> > On Tue, 2010-11-16 at 20:38 +0600, Rakib Mullick wrote:
> >
> >> Does VolanoMark is used for scheduler benchmarking? If I'm not wrong,
> >> I don't think it directly relates to scheduler benchmarking.
> >
> > It's not generally considered to be a wonderful benchmark, but it is a
> > good indicator, and worth keeping an eye on IMHO.
> >
> > I don't recall whether that patch works with the idle testcase without
> > resetting the throttle, or if it's only a bit less effective. If it's
> > only a little less effective, I'd be inclined to just whack the reset as
> > Alex did. Whatever is done has to prevent high frequency balancing.
> >
>
> >From what I recall, I think removing the reset makes the original
> patch a little less effective. I agree that we can remove the reset if
> it hurts high frequency balancing.

Ok, let's do that. I added your ack, OK?

From: Alex Shi <alex.shi@xxxxxxxxx>
Date: Tue, 16 Nov 2010 17:34:02 +0800

sched: volanomark regression fix

Commit fab4762 triggers excessive idle balancing, causing a ~30% loss in
volanomark throughput. Remove idle balancing throttle reset.

Signed-off-by: Mike Galbraith <efault@xxxxxx>
Acked-by: Nikhil Rao <ncrao@xxxxxxxxxx>
Reported-by: Alex Shi <alex.shi@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
LKML-Reference: <new-submission>

---
kernel/sched_fair.c | 4 ----
1 file changed, 4 deletions(-)

Index: linux-2.6/kernel/sched_fair.c
===================================================================
--- linux-2.6.orig/kernel/sched_fair.c
+++ linux-2.6/kernel/sched_fair.c
@@ -1758,10 +1758,6 @@ static void pull_task(struct rq *src_rq,
set_task_cpu(p, this_cpu);
activate_task(this_rq, p, 0);
check_preempt_curr(this_rq, p, 0);
-
- /* re-arm NEWIDLE balancing when moving tasks */
- src_rq->avg_idle = this_rq->avg_idle = 2*sysctl_sched_migration_cost;
- this_rq->idle_stamp = 0;
}

/*


--
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/