From: Li Zefan Date: Wed, 9 Jul 2014 08:47:16 +0000 (+0800) Subject: cpuset: update cpuset->effective_{cpus,mems} at hotplug X-Git-Tag: omap-for-v3.17/fixes-against-rc2~190^2~17 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1344ab9c2991b45bacfd2e26a8800a62663ae427;p=pandora-kernel.git cpuset: update cpuset->effective_{cpus,mems} at hotplug We're going to have separate user-configured masks and effective ones. Eventually configured masks can only be changed by writing cpuset.cpus and cpuset.mems, and they won't be restricted by parent cpuset. While effective masks reflect cpu/memory hotplug and hierachical restriction, and these are the real masks that apply to the tasks in the cpuset. We calculate effective mask this way: - top cpuset's effective_mask == online_mask, otherwise - cpuset's effective_mask == configured_mask & parent effective_mask, if the result is empty, it inherits parent effective mask. Those behavior changes are for default hierarchy only. For legacy hierarchy, effective_mask and configured_mask are the same, so we won't break old interfaces. To make cs->effective_{cpus,mems} to be effective masks, we need to - update the effective masks at hotplug - update the effective masks at config change - take on ancestor's mask when the effective mask is empty The first item is done here. This won't introduce behavior change. Signed-off-by: Li Zefan Signed-off-by: Tejun Heo --- Reading git-diff-tree failed