On Wed, Jun 01, 2016 at 10:18:17PM +0200, Peter Zijlstra wrote: > On Mon, May 23, 2016 at 11:58:49AM +0100, Morten Rasmussen wrote: > > For systems with the SD_ASYM_CPUCAPACITY flag set on higher level in the > > sched_domain hierarchy we need a way to enable wake-up balancing for the > > lower levels as well as we may want to balance tasks that don't fit the > > capacity of the previous cpu. > > > > We have the option of introducing a new topology flag to express this > > requirement, or let the existing SD_BALANCE_WAKE flag be set by the > > architecture as a topology flag. The former means introducing yet > > another flag, the latter breaks the current meaning of topology flags. > > None of the options are really desirable. > > So why can't you couple this to ASYM_CAPACITY? If that's set anywhere, > add BALANCE_WAKE as appropriate?
That should be possible. It is set at the sched_domain levels that span cpus of different capacity, but we need to set BALANCE_WAKE on the level below as well. So we would have to introduce a dependency between flags set at different levels. However, following the discussion with Vincent on enabling WAKE_AFFINE across cpus of different capacity, I might be able to repurpose ASYM_CPUCAPACITY to set BALANCE_WAKE instead which would be simpler I think.