[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090315185719.GD19737@elte.hu>
Date: Sun, 15 Mar 2009 19:57:19 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Mike Galbraith <efault@....de>
Cc: Balazs Scheidler <bazsi@...abit.hu>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
linux-kernel@...r.kernel.org, Willy Tarreau <w@....eu>
Subject: Re: [patch] Re: scheduler oddity [bug?]
* Mike Galbraith <efault@....de> wrote:
> On Sun, 2009-03-15 at 14:53 +0100, Balazs Scheidler wrote:
> > On Mon, 2009-03-09 at 18:28 +0100, Mike Galbraith wrote:
> > > On Mon, 2009-03-09 at 17:12 +0100, Peter Zijlstra wrote:
> > > > On Mon, 2009-03-09 at 16:30 +0100, Mike Galbraith wrote:
> > > > > +static void put_prev_task(struct rq *rq, struct task_struct *prev)
> > > > > +{
> > > > > + if (prev->state == TASK_RUNNING) {
> > > > > + u64 runtime = prev->se.sum_exec_runtime;
> > > > > +
> > > > > + runtime -= prev->se.prev_sum_exec_runtime;
> > > > > + runtime = min_t(u64, runtime, 2*sysctl_sched_migration_cost);
> > > > > +
> > > > > + /*
> > > > > + * In order to avoid avg_overlap growing stale when we are
> > > > > + * indeed overlapping and hence not getting put to sleep, grow
> > > > > + * the avg_overlap on preemption.
> > > > > + */
> > > > > + update_avg(&prev->se.avg_overlap, runtime);
> > > > > + }
> > > > > + prev->sched_class->put_prev_task(rq, prev);
> > > > > +}
> > > >
> > > > Right, so we both found it worked quite well, I'm still slightly puzzled
> > > > but it.
> > > >
> > > > If something gets preempted a lot and will therefore have short runtimes
> > > > it will be seen as sync even though it might not at all be.
> > >
> > > Yes, and the netperf on 2 CPUs with shared cache numbers show that's
> > > happening. It just so happens that in the non-shared case, netperf's
> > > cache pain far outweighs the benefit of having more CPU available :-/
> >
> > Any news on this? I haven't seen a patch that was actually integrated,
> > or I just missed something?
>
> It's in tip, as df1c99d416500da8d26a4d78777467c53ee7689e.
testable via:
http://people.redhat.com/mingo/tip.git/README
Balazs, could you please try it?
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists