Messages in this thread | | | Date | Tue, 15 Oct 2019 13:34:10 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched/topology: Don't set SD_BALANCE_WAKE on cpuset domain relax |
| |
On Mon, Oct 14, 2019 at 05:44:08PM +0100, Valentin Schneider wrote: > As pointed out in commit > > 182a85f8a119 ("sched: Disable wakeup balancing") > > SD_BALANCE_WAKE is a tad too aggressive, and is usually left unset. > > However, it turns out cpuset domain relaxation will unconditionally set it > on domains below the relaxation level. This made sense back when > SD_BALANCE_WAKE was set unconditionally, but it no longer is the case. > > We can improve things slightly by noticing that set_domain_attribute() is > always called after sd_init(), so rather than setting flags we can rely on > whatever sd_init() is doing and only clear certain flags when above the > relaxation level. > > While at it, slightly clean up the function and flip the relax level > check to be more human readable. > > Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> > --- > I was tempted to put a > > Fixes: 182a85f8a119 ("sched: Disable wakeup balancing") > > but the SD setup code back then was a mess of SD_INIT() macros which I'm > not familiar with. It *looks* like the sequence was roughly the same as it > is now (i.e. set up domain flags, *then* call set_domain_attribute()) but > I'm not completely sure.
This 'relax' thing is on my list of regrets. It is a terrible thing that should never have existed.
Are you actually using it or did you just stumble upon it while looking around there?
| |