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: Russell King <linux@armlinux.org.uk>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>,
	mingo@kernel.org, peterz@infradead.org,
	vincent.guittot@linaro.org, morten.rasmussen@arm.com,
	Quentin Perret <qperret@google.com>
Subject: [PATCH v5 02/17] ARM: Revert back to default scheduler topology.
Date: Wed, 12 Aug 2020 13:52:45 +0100	[thread overview]
Message-ID: <20200812125300.11889-3-valentin.schneider@arm.com> (raw)
In-Reply-To: <20200812125300.11889-1-valentin.schneider@arm.com>

The ARM-specific GMC level is meant to be built using the thread sibling
mask, but no devicetree in arch/arm/boot/dts uses the 'thread' cpu-map
binding. With SD_SHARE_POWERDOMAIN gone, this topology level can be
removed, at which point ARM no longer benefits from having a custom defined
topology table.

Delete the GMC topology level by making ARM use the default scheduler
topology table. This essentially reverts commit

  fb2aa85564f4 ("sched, ARM: Create a dedicated scheduler topology table")

Cc: Russell King <linux@armlinux.org.uk>
Suggested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
---
 arch/arm/kernel/topology.c | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index 353f3ee660e4..ef0058de432b 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -177,15 +177,6 @@ static inline void parse_dt_topology(void) {}
 static inline void update_cpu_capacity(unsigned int cpuid) {}
 #endif
 
-/*
- * The current assumption is that we can power gate each core independently.
- * This will be superseded by DT binding once available.
- */
-const struct cpumask *cpu_corepower_mask(int cpu)
-{
-	return &cpu_topology[cpu].thread_sibling;
-}
-
 /*
  * store_cpu_topology is called at boot when only one cpu is running
  * and with the mutex cpu_hotplug.lock locked, when several cpus have booted,
@@ -241,20 +232,6 @@ void store_cpu_topology(unsigned int cpuid)
 	update_siblings_masks(cpuid);
 }
 
-static inline int cpu_corepower_flags(void)
-{
-	return SD_SHARE_PKG_RESOURCES;
-}
-
-static struct sched_domain_topology_level arm_topology[] = {
-#ifdef CONFIG_SCHED_MC
-	{ cpu_corepower_mask, cpu_corepower_flags, SD_INIT_NAME(GMC) },
-	{ cpu_coregroup_mask, cpu_core_flags, SD_INIT_NAME(MC) },
-#endif
-	{ cpu_cpu_mask, SD_INIT_NAME(DIE) },
-	{ NULL, },
-};
-
 /*
  * init_cpu_topology is called at boot when only one cpu is running
  * which prevent simultaneous write access to cpu_topology array
@@ -265,7 +242,4 @@ void __init init_cpu_topology(void)
 	smp_wmb();
 
 	parse_dt_topology();
-
-	/* Set scheduler topology descriptor */
-	set_sched_topology(arm_topology);
 }
-- 
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, Russell King <linux@armlinux.org.uk>,
	morten.rasmussen@arm.com, mingo@kernel.org,
	Dietmar Eggemann <dietmar.eggemann@arm.com>
Subject: [PATCH v5 02/17] ARM: Revert back to default scheduler topology.
Date: Wed, 12 Aug 2020 13:52:45 +0100	[thread overview]
Message-ID: <20200812125300.11889-3-valentin.schneider@arm.com> (raw)
In-Reply-To: <20200812125300.11889-1-valentin.schneider@arm.com>

The ARM-specific GMC level is meant to be built using the thread sibling
mask, but no devicetree in arch/arm/boot/dts uses the 'thread' cpu-map
binding. With SD_SHARE_POWERDOMAIN gone, this topology level can be
removed, at which point ARM no longer benefits from having a custom defined
topology table.

Delete the GMC topology level by making ARM use the default scheduler
topology table. This essentially reverts commit

  fb2aa85564f4 ("sched, ARM: Create a dedicated scheduler topology table")

Cc: Russell King <linux@armlinux.org.uk>
Suggested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
---
 arch/arm/kernel/topology.c | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index 353f3ee660e4..ef0058de432b 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -177,15 +177,6 @@ static inline void parse_dt_topology(void) {}
 static inline void update_cpu_capacity(unsigned int cpuid) {}
 #endif
 
-/*
- * The current assumption is that we can power gate each core independently.
- * This will be superseded by DT binding once available.
- */
-const struct cpumask *cpu_corepower_mask(int cpu)
-{
-	return &cpu_topology[cpu].thread_sibling;
-}
-
 /*
  * store_cpu_topology is called at boot when only one cpu is running
  * and with the mutex cpu_hotplug.lock locked, when several cpus have booted,
@@ -241,20 +232,6 @@ void store_cpu_topology(unsigned int cpuid)
 	update_siblings_masks(cpuid);
 }
 
-static inline int cpu_corepower_flags(void)
-{
-	return SD_SHARE_PKG_RESOURCES;
-}
-
-static struct sched_domain_topology_level arm_topology[] = {
-#ifdef CONFIG_SCHED_MC
-	{ cpu_corepower_mask, cpu_corepower_flags, SD_INIT_NAME(GMC) },
-	{ cpu_coregroup_mask, cpu_core_flags, SD_INIT_NAME(MC) },
-#endif
-	{ cpu_cpu_mask, SD_INIT_NAME(DIE) },
-	{ NULL, },
-};
-
 /*
  * init_cpu_topology is called at boot when only one cpu is running
  * which prevent simultaneous write access to cpu_topology array
@@ -265,7 +242,4 @@ void __init init_cpu_topology(void)
 	smp_wmb();
 
 	parse_dt_topology();
-
-	/* Set scheduler topology descriptor */
-	set_sched_topology(arm_topology);
 }
-- 
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-12 12:54 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-12 12:52 [PATCH v5 00/17] sched: Instrument sched domain flags Valentin Schneider
2020-08-12 12:52 ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 01/17] ARM, sched/topology: Remove SD_SHARE_POWERDOMAIN Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` Valentin Schneider [this message]
2020-08-12 12:52   ` [PATCH v5 02/17] ARM: Revert back to default scheduler topology Valentin Schneider
2020-08-13 19:16   ` Ingo Molnar
2020-08-13 19:16     ` Ingo Molnar
2020-08-13 22:27     ` Valentin Schneider
2020-08-13 22:27       ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 03/17] sched/topology: Split out SD_* flags declaration to its own file Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 04/17] sched/topology: Define and assign sched_domain flag metadata Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 05/17] sched/topology: Verify SD_* flags setup when sched_debug is on Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 06/17] sched/debug: Output SD flag names rather than their values Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 16:35   ` kernel test robot
2020-08-12 16:35     ` kernel test robot
2020-08-12 16:35     ` kernel test robot
2020-08-12 18:51     ` Valentin Schneider
2020-08-12 18:51       ` Valentin Schneider
2020-08-12 18:51       ` Valentin Schneider
2020-08-13 12:02       ` Luc Van Oostenryck
2020-08-13 12:02         ` Luc Van Oostenryck
2020-08-13 12:02         ` Luc Van Oostenryck
2020-08-13 13:13         ` Valentin Schneider
2020-08-13 13:13           ` Valentin Schneider
2020-08-13 13:13           ` Valentin Schneider
2020-08-12 17:59   ` kernel test robot
2020-08-12 17:59     ` kernel test robot
2020-08-12 17:59     ` kernel test robot
2020-08-12 17:59   ` [PATCH] sched/debug: fix noderef.cocci warnings kernel test robot
2020-08-12 17:59     ` kernel test robot
2020-08-12 17:59     ` kernel test robot
2020-08-12 18:52     ` Valentin Schneider
2020-08-12 18:52       ` Valentin Schneider
2020-08-12 18:52       ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 07/17] sched/topology: Introduce SD metaflag for flags needing > 1 groups Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 08/17] sched/topology: Use prebuilt SD flag degeneration mask Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 09/17] sched/topology: Remove SD_SERIALIZE degeneration special case Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 10/17] sched/topology: Propagate SD_ASYM_CPUCAPACITY upwards Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 11/17] sched/topology: Mark SD_PREFER_SIBLING as SDF_NEEDS_GROUPS Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 12/17] sched/topology: Mark SD_BALANCE_WAKE " Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 13/17] sched/topology: Mark SD_SERIALIZE " Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 14/17] sched/topology: Mark SD_ASYM_PACKING " Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 15/17] sched/topology: Mark SD_OVERLAP " Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:52 ` [PATCH v5 16/17] sched/topology: Mark SD_NUMA " Valentin Schneider
2020-08-12 12:52   ` Valentin Schneider
2020-08-12 12:53 ` [PATCH v5 17/17] sched/topology: Expand use of SD_DEGENERATE_GROUPS_MASK to flags not needing groups Valentin Schneider
2020-08-12 12:53   ` 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=20200812125300.11889-3-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=linux@armlinux.org.uk \
    --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.