forked from luck/tmp_suning_uos_patched
sched/topology: Mark SD_PREFER_SIBLING as SDF_NEEDS_GROUPS
SD_PREFER_SIBLING is currently considered in sd_parent_degenerate() but not in sd_degenerate(). It too hinges on load balancing, and thus won't have any effect when set on a domain with a single group. Add it to SD_DEGENERATE_GROUPS_MASK. Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: https://lore.kernel.org/r/20200817113003.20802-12-valentin.schneider@arm.com
This commit is contained in:
parent
c200191d4c
commit
3a6712c768
|
@ -131,8 +131,10 @@ SD_FLAG(SD_ASYM_PACKING, SDF_SHARED_CHILD)
|
|||
*
|
||||
* Set up until domains start spanning NUMA nodes. Close to being a SHARED_CHILD
|
||||
* flag, but cleared below domains with SD_ASYM_CPUCAPACITY.
|
||||
*
|
||||
* NEEDS_GROUPS: Load balancing flag.
|
||||
*/
|
||||
SD_FLAG(SD_PREFER_SIBLING, 0)
|
||||
SD_FLAG(SD_PREFER_SIBLING, SDF_NEEDS_GROUPS)
|
||||
|
||||
/*
|
||||
* sched_groups of this level overlap
|
||||
|
|
|
@ -184,7 +184,7 @@ sd_parent_degenerate(struct sched_domain *sd, struct sched_domain *parent)
|
|||
|
||||
/* Flags needing groups don't count if only 1 group in parent */
|
||||
if (parent->groups == parent->groups->next)
|
||||
pflags &= ~(SD_DEGENERATE_GROUPS_MASK | SD_PREFER_SIBLING);
|
||||
pflags &= ~SD_DEGENERATE_GROUPS_MASK;
|
||||
|
||||
if (~cflags & pflags)
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue
Block a user