This flag was introduced in 2014 by commit

  d77b3ed5c9f8 ("sched: Add a new SD_SHARE_POWERDOMAIN for sched_domain")

but AFAIA it was never leveraged by the scheduler. The closest thing I can
think of is EAS caring about frequency domains, and it does that by
leveraging performance domains.

Remove the flag.

Suggested-by: Morten Rasmussen <morten.rasmus...@arm.com>
Signed-off-by: Valentin Schneider <valentin.schnei...@arm.com>
---
 arch/arm/kernel/topology.c     |  2 +-
 include/linux/sched/topology.h | 13 ++++++-------
 kernel/sched/topology.c        | 10 +++-------
 3 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index b5adaf744630..353f3ee660e4 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -243,7 +243,7 @@ void store_cpu_topology(unsigned int cpuid)
 
 static inline int cpu_corepower_flags(void)
 {
-       return SD_SHARE_PKG_RESOURCES  | SD_SHARE_POWERDOMAIN;
+       return SD_SHARE_PKG_RESOURCES;
 }
 
 static struct sched_domain_topology_level arm_topology[] = {
diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h
index 764222d637b7..c88249bed095 100644
--- a/include/linux/sched/topology.h
+++ b/include/linux/sched/topology.h
@@ -18,13 +18,12 @@
 #define SD_WAKE_AFFINE         0x0010  /* Wake task to waking CPU */
 #define SD_ASYM_CPUCAPACITY    0x0020  /* Domain members have different CPU 
capacities */
 #define SD_SHARE_CPUCAPACITY   0x0040  /* Domain members share CPU capacity */
-#define SD_SHARE_POWERDOMAIN   0x0080  /* Domain members share power domain */
-#define SD_SHARE_PKG_RESOURCES 0x0100  /* Domain members share CPU pkg 
resources */
-#define SD_SERIALIZE           0x0200  /* Only a single load balancing 
instance */
-#define SD_ASYM_PACKING                0x0400  /* Place busy groups earlier in 
the domain */
-#define SD_PREFER_SIBLING      0x0800  /* Prefer to place tasks in a sibling 
domain */
-#define SD_OVERLAP             0x1000  /* sched_domains of this level overlap 
*/
-#define SD_NUMA                        0x2000  /* cross-node balancing */
+#define SD_SHARE_PKG_RESOURCES 0x0080  /* Domain members share CPU pkg 
resources */
+#define SD_SERIALIZE           0x0100  /* Only a single load balancing 
instance */
+#define SD_ASYM_PACKING                0x0200  /* Place busy groups earlier in 
the domain */
+#define SD_PREFER_SIBLING      0x0400  /* Prefer to place tasks in a sibling 
domain */
+#define SD_OVERLAP             0x0800  /* sched_domains of this level overlap 
*/
+#define SD_NUMA                        0x1000  /* cross-node balancing */
 
 #ifdef CONFIG_SCHED_SMT
 static inline int cpu_smt_flags(void)
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 9079d865a935..865fff3ef20a 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -148,8 +148,7 @@ static int sd_degenerate(struct sched_domain *sd)
                         SD_BALANCE_EXEC |
                         SD_SHARE_CPUCAPACITY |
                         SD_ASYM_CPUCAPACITY |
-                        SD_SHARE_PKG_RESOURCES |
-                        SD_SHARE_POWERDOMAIN)) {
+                        SD_SHARE_PKG_RESOURCES)) {
                if (sd->groups != sd->groups->next)
                        return 0;
        }
@@ -180,8 +179,7 @@ sd_parent_degenerate(struct sched_domain *sd, struct 
sched_domain *parent)
                            SD_ASYM_CPUCAPACITY |
                            SD_SHARE_CPUCAPACITY |
                            SD_SHARE_PKG_RESOURCES |
-                           SD_PREFER_SIBLING |
-                           SD_SHARE_POWERDOMAIN);
+                           SD_PREFER_SIBLING);
                if (nr_node_ids == 1)
                        pflags &= ~SD_SERIALIZE;
        }
@@ -1292,7 +1290,6 @@ int __read_mostly         node_reclaim_distance = 
RECLAIM_DISTANCE;
  *   SD_SHARE_CPUCAPACITY   - describes SMT topologies
  *   SD_SHARE_PKG_RESOURCES - describes shared caches
  *   SD_NUMA                - describes NUMA topologies
- *   SD_SHARE_POWERDOMAIN   - describes shared power domain
  *
  * Odd one out, which beside describing the topology has a quirk also
  * prescribes the desired behaviour that goes along with it:
@@ -1303,8 +1300,7 @@ int __read_mostly         node_reclaim_distance = 
RECLAIM_DISTANCE;
        (SD_SHARE_CPUCAPACITY   |       \
         SD_SHARE_PKG_RESOURCES |       \
         SD_NUMA                |       \
-        SD_ASYM_PACKING        |       \
-        SD_SHARE_POWERDOMAIN)
+        SD_ASYM_PACKING)
 
 static struct sched_domain *
 sd_init(struct sched_domain_topology_level *tl,
-- 
2.27.0

Reply via email to