Messages in this thread Patch in this message | | | Subject | Re: [performance bug] volanomark regression on 37-rc1 | From | Mike Galbraith <> | Date | Tue, 16 Nov 2010 10:32:12 -0700 |
| |
On Tue, 2010-11-16 at 08:31 -0800, Nikhil Rao wrote: > On Tue, Nov 16, 2010 at 7:26 AM, Mike Galbraith <efault@gmx.de> 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@intel.com> 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@gmx.de> Acked-by: Nikhil Rao <ncrao@google.com> Reported-by: Alex Shi <alex.shi@intel.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> 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; } /*
| |