From: Valentin Schneider Date: Mon, 17 Aug 2020 11:29:55 +0000 (+0100) Subject: sched/topology: Remove SD_SERIALIZE degeneration special case X-Git-Tag: v5.15~2751^2~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ab65afb094c7b2e954e8d56ffbc7df843211c2c8;p=platform%2Fkernel%2Flinux-starfive.git sched/topology: Remove SD_SERIALIZE degeneration special case If there is only a single NUMA node in the system, the only NUMA topology level that will be generated will be NODE (identity distance), which doesn't have SD_SERIALIZE. This means we don't need this special case in sd_parent_degenerate(), as having the NODE level "naturally" covers it. Thus, remove it. Suggested-by: Peter Zijlstra Signed-off-by: Valentin Schneider Signed-off-by: Ingo Molnar Reviewed-by: Dietmar Eggemann Acked-by: Peter Zijlstra Link: https://lore.kernel.org/r/20200817113003.20802-10-valentin.schneider@arm.com --- diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 38e6671..c662c53 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -183,11 +183,9 @@ sd_parent_degenerate(struct sched_domain *sd, struct sched_domain *parent) return 0; /* Flags needing groups don't count if only 1 group in parent */ - if (parent->groups == parent->groups->next) { + if (parent->groups == parent->groups->next) pflags &= ~(SD_DEGENERATE_GROUPS_MASK | SD_PREFER_SIBLING); - if (nr_node_ids == 1) - pflags &= ~SD_SERIALIZE; - } + if (~cflags & pflags) return 0;