On 2024/4/24 3:21, Klara Modin wrote: > Hi, > > On 2024-04-20 11:46, Xiu Jianfeng wrote: >> Initializing top_cpuset.relax_domain_level and setting >> CS_SCHED_LOAD_BALANCE to top_cpuset.flags in cpuset_init() could be >> completed at the time of top_cpuset definition by compiler. >> >> Signed-off-by: Xiu Jianfeng <xiujianfeng@xxxxxxxxxx> >> --- >> kernel/cgroup/cpuset.c | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c >> index d8d3439eda4e..e70008a1d86a 100644 >> --- a/kernel/cgroup/cpuset.c >> +++ b/kernel/cgroup/cpuset.c >> @@ -369,8 +369,9 @@ static inline void notify_partition_change(struct >> cpuset *cs, int old_prs) >> static struct cpuset top_cpuset = { >> .flags = ((1 << CS_ONLINE) | (1 << CS_CPU_EXCLUSIVE) | >> - (1 << CS_MEM_EXCLUSIVE)), >> + (1 << CS_MEM_EXCLUSIVE) | (1 < CS_SCHED_LOAD_BALANCE)), > > You dropped a '<' for the bitwise shift, this causes bad cpu utilization > for me. Oops, that's bad, I'm sorry for that! > >> .partition_root_state = PRS_ROOT, >> + .relax_domain_level = -1, >> .remote_sibling = LIST_HEAD_INIT(top_cpuset.remote_sibling), >> }; >> @@ -4309,8 +4310,6 @@ int __init cpuset_init(void) >> nodes_setall(top_cpuset.effective_mems); >> fmeter_init(&top_cpuset.fmeter); >> - set_bit(CS_SCHED_LOAD_BALANCE, &top_cpuset.flags); >> - top_cpuset.relax_domain_level = -1; >> INIT_LIST_HEAD(&remote_children); >> BUG_ON(!alloc_cpumask_var(&cpus_attach, GFP_KERNEL)); > > Kind regards, > Klara Modin