diff options
Diffstat (limited to 'kernel/cpuset.c')
-rw-r--r-- | kernel/cpuset.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index ef0974c73b4b..94f651d2eee5 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -2082,6 +2082,7 @@ retry: | |||
2082 | 2082 | ||
2083 | mutex_lock(&callback_mutex); | 2083 | mutex_lock(&callback_mutex); |
2084 | cpumask_andnot(cs->cpus_allowed, cs->cpus_allowed, &off_cpus); | 2084 | cpumask_andnot(cs->cpus_allowed, cs->cpus_allowed, &off_cpus); |
2085 | cpumask_andnot(cs->effective_cpus, cs->effective_cpus, &off_cpus); | ||
2085 | mutex_unlock(&callback_mutex); | 2086 | mutex_unlock(&callback_mutex); |
2086 | 2087 | ||
2087 | /* | 2088 | /* |
@@ -2096,6 +2097,7 @@ retry: | |||
2096 | 2097 | ||
2097 | mutex_lock(&callback_mutex); | 2098 | mutex_lock(&callback_mutex); |
2098 | nodes_andnot(cs->mems_allowed, cs->mems_allowed, off_mems); | 2099 | nodes_andnot(cs->mems_allowed, cs->mems_allowed, off_mems); |
2100 | nodes_andnot(cs->effective_mems, cs->effective_mems, off_mems); | ||
2099 | mutex_unlock(&callback_mutex); | 2101 | mutex_unlock(&callback_mutex); |
2100 | 2102 | ||
2101 | /* | 2103 | /* |
@@ -2159,6 +2161,7 @@ static void cpuset_hotplug_workfn(struct work_struct *work) | |||
2159 | if (cpus_updated) { | 2161 | if (cpus_updated) { |
2160 | mutex_lock(&callback_mutex); | 2162 | mutex_lock(&callback_mutex); |
2161 | cpumask_copy(top_cpuset.cpus_allowed, &new_cpus); | 2163 | cpumask_copy(top_cpuset.cpus_allowed, &new_cpus); |
2164 | cpumask_copy(top_cpuset.effective_cpus, &new_cpus); | ||
2162 | mutex_unlock(&callback_mutex); | 2165 | mutex_unlock(&callback_mutex); |
2163 | /* we don't mess with cpumasks of tasks in top_cpuset */ | 2166 | /* we don't mess with cpumasks of tasks in top_cpuset */ |
2164 | } | 2167 | } |
@@ -2167,6 +2170,7 @@ static void cpuset_hotplug_workfn(struct work_struct *work) | |||
2167 | if (mems_updated) { | 2170 | if (mems_updated) { |
2168 | mutex_lock(&callback_mutex); | 2171 | mutex_lock(&callback_mutex); |
2169 | top_cpuset.mems_allowed = new_mems; | 2172 | top_cpuset.mems_allowed = new_mems; |
2173 | top_cpuset.effective_mems = new_mems; | ||
2170 | mutex_unlock(&callback_mutex); | 2174 | mutex_unlock(&callback_mutex); |
2171 | update_tasks_nodemask(&top_cpuset); | 2175 | update_tasks_nodemask(&top_cpuset); |
2172 | } | 2176 | } |