Re: [PATCH -next] cgroup/cpuset: Statically initialize more members of top_cpuset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 4/23/24 15: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.

Oh, now load_balancing is disable by default in the root cgroup. That is bad. Will post a patch to fix it.

Thanks,
Longman




      .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





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux