On 8/4/21 6:26 AM, Yicong Yang wrote:
I've tested again with this series on our board, all the functions work as expected.
So I check into the code to see what's wrong last time, and sadly it's my mistake when applying the patch, sorry for that. :/
I applied the patch based on Barry's second series (the packing path, although this series will go after the first series) and error occurs when I address the conflicts. git diff told my mistake:
# git diff good bad diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 73e810c248b2..83b17ca44351 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -4875,7 +4875,7 @@
sched_verbose [KNL] Enables verbose scheduler debug messages.
sched_cluster= Enable or disable cluster scheduling.
sched_cluster= [x86] Enable or disable cluster scheduling. 0 -- disable. 1 -- enable.
diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h index 511826c1a1d6..124acc8e8ddf 100644 --- a/include/linux/sched/topology.h +++ b/include/linux/sched/topology.h @@ -38,14 +38,14 @@ extern const struct sd_flag_debug sd_flag_debug[]; #ifdef CONFIG_SCHED_SMT static inline int cpu_smt_flags(void) {
return SD_SHARE_CPUCAPACITY | SD_SHARE_PKG_RESOURCES;
return SD_SHARE_CPUCAPACITY | SD_SHARE_PKG_RESOURCES | SD_CLUSTER;
} #endif
#ifdef CONFIG_SCHED_CLUSTER static inline int cpu_cluster_flags(void) {
return SD_SHARE_CLS_RESOURCES | SD_CLUSTER | SD_SHARE_PKG_RESOURCES;
return SD_SHARE_CLS_RESOURCES | SD_SHARE_PKG_RESOURCES;
} #endif
btw, I found the SD_SHARE_CLS_RESOURCES and SD_CLUSTER are replicated, we can leave in the final version.
That's a good catch. I can rename the SD_CLUSTER to SD_SHARE_CLS_RESOURCES if Barry desires to go this way. I personally prefer SD_CLUSTER but either way is fine with me.
Tim