diff options
Diffstat (limited to 'kernel/cpuset.c')
| -rw-r--r-- | kernel/cpuset.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 039baa4cd90c..9fceb97e989c 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
| @@ -1037,8 +1037,8 @@ int current_cpuset_is_being_rebound(void) | |||
| 1037 | 1037 | ||
| 1038 | static int update_relax_domain_level(struct cpuset *cs, s64 val) | 1038 | static int update_relax_domain_level(struct cpuset *cs, s64 val) |
| 1039 | { | 1039 | { |
| 1040 | if ((int)val < 0) | 1040 | if (val < -1 || val >= SD_LV_MAX) |
| 1041 | val = -1; | 1041 | return -EINVAL; |
| 1042 | 1042 | ||
| 1043 | if (val != cs->relax_domain_level) { | 1043 | if (val != cs->relax_domain_level) { |
| 1044 | cs->relax_domain_level = val; | 1044 | cs->relax_domain_level = val; |
| @@ -1890,6 +1890,12 @@ static void common_cpu_mem_hotplug_unplug(void) | |||
| 1890 | top_cpuset.mems_allowed = node_states[N_HIGH_MEMORY]; | 1890 | top_cpuset.mems_allowed = node_states[N_HIGH_MEMORY]; |
| 1891 | scan_for_empty_cpusets(&top_cpuset); | 1891 | scan_for_empty_cpusets(&top_cpuset); |
| 1892 | 1892 | ||
| 1893 | /* | ||
| 1894 | * Scheduler destroys domains on hotplug events. | ||
| 1895 | * Rebuild them based on the current settings. | ||
| 1896 | */ | ||
| 1897 | rebuild_sched_domains(); | ||
| 1898 | |||
| 1893 | cgroup_unlock(); | 1899 | cgroup_unlock(); |
| 1894 | } | 1900 | } |
| 1895 | 1901 | ||
