Re: [patch] Re: scheduler oddity [bug?]

From: Mike Galbraith
Date: Mon Mar 09 2009 - 09:51:30 EST


On Mon, 2009-03-09 at 14:27 +0100, Peter Zijlstra wrote:
> On Mon, 2009-03-09 at 14:16 +0100, Mike Galbraith wrote:
> > On Mon, 2009-03-09 at 12:04 +0100, Peter Zijlstra wrote:
> >
> > > OK, talked a bit with Ingo, the reason you're doing is that avg_overlap
> > > can easily grow stale.. I can see that happen indeed.
> > >
> > > So the 'perfect' thing would be a task-runtime decay, barring that the
> > > preemption thing seems a sane enough hart-beat of a task.
> > >
> > > How does the below look to you?
> >
> > Other than the fact that the test for sync reject is currently
> > avg_overlap > sysctl_sched_migration_cost, looks fine to me. Having it
> > capped at the boundary is probably the better way to go.
>
> Ah, yes, and looking at update_avg() we'll also discard the lower 3
> bits, so we'll never actually reach.
>
> So I guess it should read something like:
>
> update_avg(&prev->se.avg_overlap, 2*sysctl_sched_migration_cost);
>
> or somesuch.
>
> Does it actually solve the reported problem? I've only thought about the
> issue so far :-)

5977 root 20 0 3672 440 352 R 100 0.0 0:28.53 2 pipetest
5978 root 20 0 3668 180 96 S 29 0.0 0:08.27 0 pipetest

Yup, works for me. Ship it :)

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