All of lore.kernel.org
 help / color / mirror / Atom feed
From: Valentin Schneider <valentin.schneider@arm.com>
To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Cc: mingo@kernel.org, peterz@infradead.org,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	morten.rasmussen@arm.com, Quentin Perret <qperret@google.com>
Subject: [PATCH v6 11/17] sched/topology: Mark SD_PREFER_SIBLING as SDF_NEEDS_GROUPS
Date: Mon, 17 Aug 2020 12:29:57 +0100	[thread overview]
Message-ID: <20200817113003.20802-12-valentin.schneider@arm.com> (raw)
In-Reply-To: <20200817113003.20802-1-valentin.schneider@arm.com>

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>
---
 include/linux/sched/sd_flags.h | 4 +++-
 kernel/sched/topology.c        | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/linux/sched/sd_flags.h b/include/linux/sched/sd_flags.h
index 4f07b405564e..75c9749a6e2d 100644
--- a/include/linux/sched/sd_flags.h
+++ b/include/linux/sched/sd_flags.h
@@ -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
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 02fd8db747b2..8064f495641b 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -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;
-- 
2.27.0


WARNING: multiple messages have this Message-ID (diff)
From: Valentin Schneider <valentin.schneider@arm.com>
To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Cc: vincent.guittot@linaro.org, Quentin Perret <qperret@google.com>,
	peterz@infradead.org, morten.rasmussen@arm.com, mingo@kernel.org,
	dietmar.eggemann@arm.com
Subject: [PATCH v6 11/17] sched/topology: Mark SD_PREFER_SIBLING as SDF_NEEDS_GROUPS
Date: Mon, 17 Aug 2020 12:29:57 +0100	[thread overview]
Message-ID: <20200817113003.20802-12-valentin.schneider@arm.com> (raw)
In-Reply-To: <20200817113003.20802-1-valentin.schneider@arm.com>

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>
---
 include/linux/sched/sd_flags.h | 4 +++-
 kernel/sched/topology.c        | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/linux/sched/sd_flags.h b/include/linux/sched/sd_flags.h
index 4f07b405564e..75c9749a6e2d 100644
--- a/include/linux/sched/sd_flags.h
+++ b/include/linux/sched/sd_flags.h
@@ -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
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 02fd8db747b2..8064f495641b 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -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;
-- 
2.27.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-08-17 11:31 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17 11:29 [PATCH v6 00/17] sched: Instrument sched domain flags Valentin Schneider
2020-08-17 11:29 ` Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 01/17] ARM, sched/topology: Remove SD_SHARE_POWERDOMAIN Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 02/17] ARM: Revert back to default scheduler topology Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] ARM, sched/topology: " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 03/17] sched/topology: Split out SD_* flags declaration to its own file Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 04/17] sched/topology: Define and assign sched_domain flag metadata Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 05/17] sched/topology: Verify SD_* flags setup when sched_debug is on Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 06/17] sched/debug: Output SD flag names rather than their values Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 07/17] sched/topology: Introduce SD metaflag for flags needing > 1 groups Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 08/17] sched/topology: Use prebuilt SD flag degeneration mask Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 09/17] sched/topology: Remove SD_SERIALIZE degeneration special case Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 10/17] sched/topology: Propagate SD_ASYM_CPUCAPACITY upwards Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` Valentin Schneider [this message]
2020-08-17 11:29   ` [PATCH v6 11/17] sched/topology: Mark SD_PREFER_SIBLING as SDF_NEEDS_GROUPS Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 12/17] sched/topology: Mark SD_BALANCE_WAKE " Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 13/17] sched/topology: Mark SD_SERIALIZE " Valentin Schneider
2020-08-17 11:29   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 14/17] sched/topology: Mark SD_ASYM_PACKING " Valentin Schneider
2020-08-17 11:30   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 15/17] sched/topology: Mark SD_OVERLAP " Valentin Schneider
2020-08-17 11:30   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 16/17] sched/topology: Mark SD_NUMA " Valentin Schneider
2020-08-17 11:30   ` Valentin Schneider
2020-08-19 14:02   ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 17/17] sched/topology: Expand use of SD_DEGENERATE_GROUPS_MASK to flags not needing groups Valentin Schneider
2020-08-17 11:30   ` Valentin Schneider

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200817113003.20802-12-valentin.schneider@arm.com \
    --to=valentin.schneider@arm.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=morten.rasmussen@arm.com \
    --cc=peterz@infradead.org \
    --cc=qperret@google.com \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.