History

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.

Valentin Schneider committed 6 years ago

Commit 3a6712c1 parent c2001912 files · +4 −2Browse files

Unified · Split

2 files
  1. include/linux/sched/sd_flags.h +3 −1
  2. kernel/sched/topology.c +1 −1
include/linux/sched/sd_flags.h+3−1
@@ -131,8 +131,10 @@ SD_FLAG(SD_ASYM_PACKING, SDF_SHARED_CHILD) · 130 unmodified lines
131131 *
132132 * Set up until domains start spanning NUMA nodes. Close to being a SHARED_CHILD
133133 * flag, but cleared below domains with SD_ASYM_CPUCAPACITY.
134+ *
135+ * NEEDS_GROUPS: Load balancing flag.
134136 */
135−SD_FLAG(SD_PREFER_SIBLING, 0)
137+SD_FLAG(SD_PREFER_SIBLING, SDF_NEEDS_GROUPS)
136138
137139 /*
138140 * sched_groups of this level overlap
kernel/sched/topology.c+1−1
@@ -184,7 +184,7 @@ sd_parent_degenerate(struct sched_domain *sd, struct sched_domain *parent) · 183 unmodified lines
184184
185185 /* Flags needing groups don't count if only 1 group in parent */
186186 if (parent->groups == parent->groups->next)
187− pflags &= ~(SD_DEGENERATE_GROUPS_MASK | SD_PREFER_SIBLING);
187+ pflags &= ~SD_DEGENERATE_GROUPS_MASK;
188188
189189 if (~cflags & pflags)
190190 return 0;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t