lkml.org 
[lkml]   [2009]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch] Re: scheduler oddity [bug?]
From
Date
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?

--
Bazsi




\
 
 \ /
  Last update: 2009-03-15 15:11    [W:0.080 / U:20.724 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site