Messages in this thread Patch in this message | | | From | Tim Chen <> | Subject | [PATCH 2/5] scheduler: Add SD_CLUSTER topology flag to cluster sched domain | Date | Fri, 3 Dec 2021 12:32:39 -0800 |
| |
Add SD_CLUSTER to flag cluster sched domain topology.
Scheduler needs to know if a topology level is at cluster level. It can then decide if cluster sched domain should be built based on boot or run time configuration specified in next patch.
Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com> --- include/linux/sched/sd_flags.h | 7 +++++++ include/linux/sched/topology.h | 2 +- kernel/sched/topology.c | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/include/linux/sched/sd_flags.h b/include/linux/sched/sd_flags.h index 57bde66d95f7..2321f1b4cee6 100644 --- a/include/linux/sched/sd_flags.h +++ b/include/linux/sched/sd_flags.h @@ -164,3 +164,10 @@ SD_FLAG(SD_OVERLAP, SDF_SHARED_PARENT | SDF_NEEDS_GROUPS) * NEEDS_GROUPS: No point in preserving domain if it has a single group. */ SD_FLAG(SD_NUMA, SDF_SHARED_PARENT | SDF_NEEDS_GROUPS) + +/* + * Domain members in the same CPU cluster + * + * NEEDS_GROUPS: Cluster resroucres are shared between groups. + */ +SD_FLAG(SD_CLUSTER, SDF_NEEDS_GROUPS) diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h index a6ad1e02e57a..d71e75f03619 100644 --- a/include/linux/sched/topology.h +++ b/include/linux/sched/topology.h @@ -45,7 +45,7 @@ static inline int cpu_smt_flags(void) #ifdef CONFIG_SCHED_CLUSTER static inline int cpu_cluster_flags(void) { - return SD_SHARE_PKG_RESOURCES; + return SD_CLUSTER | SD_SHARE_PKG_RESOURCES; } #endif diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index ee6b14ad3324..0c11531a64a0 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -1504,6 +1504,8 @@ static unsigned long __read_mostly *sched_numa_onlined_nodes; * function: * * SD_SHARE_CPUCAPACITY - describes SMT topologies + * SD_CLUSTER - describes multiple CPU clusters in a + * last level cache * SD_SHARE_PKG_RESOURCES - describes shared caches * SD_NUMA - describes NUMA topologies * @@ -1514,6 +1516,7 @@ static unsigned long __read_mostly *sched_numa_onlined_nodes; */ #define TOPOLOGY_SD_FLAGS \ (SD_SHARE_CPUCAPACITY | \ + SD_CLUSTER | \ SD_SHARE_PKG_RESOURCES | \ SD_NUMA | \ SD_ASYM_PACKING) -- 2.20.1
| |