Re: [patch 3/7] sched: set skip_clock_update in yield_task_fair()

From: Mike Galbraith
Date: Fri Nov 25 2011 - 01:40:01 EST


On Thu, 2011-11-24 at 11:12 +0100, Peter Zijlstra wrote:
> On Thu, 2011-11-24 at 04:50 +0100, Mike Galbraith wrote:
> > On Wed, 2011-11-23 at 15:48 +0100, Peter Zijlstra wrote:
> > > On Tue, 2011-11-22 at 15:21 +0100, Mike Galbraith wrote:
> > > > This is another case where we are on our way to schedule(),
> > > > so can save a useless clock update and resulting microscopic
> > > > vruntime update.
> > > >
> > >
> > > Everytime I see one of these skip_clock_update thingies I get the idea
> > > we should do something smarter, because its most fragile and getting it
> > > wrong results in a subtle trainwreck..
> > >
> > > Would something like the below help in validating this stuff?
> >
> > No, because switch itself is irrelevant to fair-beans counting.
>
> Hmm, right, but we can keep another counter that is more relevant, like
> all schedule(),ttwu() and various other calls, right?

Yeah, there's gotta be a way to be smarter about this. When waking a
gaggle, we'll do useless microscopic updates and preempt checks for each
and every wakeup (not to mention waker can be preempted). It's one
event per touched rq really, but we treat is as many. The skip thing
just binds a couple obvious spots in a hacky way.

> Thing is, is that going to be less fragile than the current crap :-(

I agree it's fragile.

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