Re: [PATCH 5/5] sched/rt: Optimize find_lowest_rq() to select a cache hot cpu

Peter Zijlstra
2015-01-27T16:28:21Z

On Tue, Jan 27, 2015 at 09:56:26AM -0500, Steven Rostedt wrote:
> On Tue, 27 Jan 2015 15:21:36 +0100
> Peter Zijlstra <peterz@infradead.org> wrote:
>
> > On Mon, Jan 19, 2015 at 04:49:40AM +0000, Xunlei Pang wrote:
> > > In find_lowest_rq(), if we can't find a wake_affine cpu from
> > > sched_domain, then we can actually determine a cache hot cpu
> > > instead of simply calling "cpumask_any(lowest_mask)" which
> > > always returns the first cpu in the mask.
> > >
> > > So, we can determine the cache hot cpu during the interation of
> > > sched_domain() in passing.
> >
> > Steve, I'm not getting this. Why are we using WAKE_AFFINE here?
> >
>
> It originated from Gregory Haskins topology patches. See
> 6e1254d2c41215da27025add8900ed187bca121d

Indeed so; it seems an arbitrary choice.

And the proposed patch seems like a convoluted way to simply remove the
->flags & SD_WAKE_AFFINE test.

Of course, the entire domain loop there assumes a lower domain is
better; yay for SMT being such a good counter example ;-)

Of course, if we remove it here; we should do too for deadline.