Re: [RFC PATCH 0/7] sched: Streamline select_task_rq() & select_task_rq_fair()

From: Peter Zijlstra
Date: Mon Jan 06 2020 - 03:10:32 EST


On Wed, Dec 11, 2019 at 04:43:54PM +0000, Valentin Schneider wrote:
> Discussion points
> =================
>
> The use of SD_LOAD_BALANCE forced me to do a few ugly things.
>
> Patch 5 is only required because the domain walk in select_task_rq_fair()
> is ceiled by the presence of SD_LOAD_BALANCE. Thing is (I also ramble about
> this in the changelog of patch 7) AFAIK this flag is set unconditionally in
> sd_init() and the only way to clear it is via the sched_domain sysctl,
> which is a SCHED_DEBUG interface. I haven't found anything with cpusets
> that would clear it; AFAICT cpusets can end up attaching the NULL domain to
> some CPUs (with sched_load_balance=0) but that's as far as this goes:

I can't find it in a hurry, but cpusets should really be able to build
stuff without LOAD_BALANCe on, otherwise it is broken.

/me digs a little into the code and finds that. no, you're right. What
cpusets does is create non-overlapping domain trees for each parition.
Which avoids the need to clear that flag.

Hmmm.. if we double check all that, I don't suppose there is anything
against simply removing that flag. Less is more etc..