cpuset: Fix cpuset sched_relax_domain_level
authorJason Low <jason.low2@hp.com>
Fri, 13 Feb 2015 03:58:07 +0000 (11:58 +0800)
committerTejun Heo <tj@kernel.org>
Mon, 2 Mar 2015 16:55:04 +0000 (11:55 -0500)
commit283cb41f426b723a0255702b761b0fc5d1b53a81
tree269caf80d8733b12ab9542b10395dd98181e6791
parent79063bffc81f82689bd90e16da1b49408f3bf095
cpuset: Fix cpuset sched_relax_domain_level

The cpuset.sched_relax_domain_level can control how far we do
immediate load balancing on a system. However, it was found on recent
kernels that echo'ing a value into cpuset.sched_relax_domain_level
did not reduce any immediate load balancing.

The reason this occurred was because the update_domain_attr_tree() traversal
did not update for the "top_cpuset". This resulted in nothing being changed
when modifying the sched_relax_domain_level parameter.

This patch is able to address that problem by having update_domain_attr_tree()
allow updates for the root in the cpuset traversal.

Fixes: fc560a26acce ("cpuset: replace cpuset->stack_list with cpuset_for_each_descendant_pre()")
Cc: <stable@vger.kernel.org> # 3.9+
Signed-off-by: Jason Low <jason.low2@hp.com>
Signed-off-by: Zefan Li <lizefan@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Tested-by: Serge Hallyn <serge.hallyn@canonical.com>
kernel/cpuset.c