Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
cpusets, hotplug, scheduler: fix scheduler domain breakage

+18 -6
+18 -6
kernel/cpuset.c
··· 1882 1882 * in order to minimize text size. 1883 1883 */ 1884 1884 1885 - static void common_cpu_mem_hotplug_unplug(void) 1885 + static void common_cpu_mem_hotplug_unplug(int rebuild_sd) 1886 1886 { 1887 1887 cgroup_lock(); 1888 1888 ··· 1894 1894 * Scheduler destroys domains on hotplug events. 1895 1895 * Rebuild them based on the current settings. 1896 1896 */ 1897 - rebuild_sched_domains(); 1897 + if (rebuild_sd) 1898 + rebuild_sched_domains(); 1898 1899 1899 1900 cgroup_unlock(); 1900 1901 } ··· 1913 1912 static int cpuset_handle_cpuhp(struct notifier_block *unused_nb, 1914 1913 unsigned long phase, void *unused_cpu) 1915 1914 { 1916 - if (phase == CPU_DYING || phase == CPU_DYING_FROZEN) 1915 + switch (phase) { 1916 + case CPU_UP_CANCELED: 1917 + case CPU_UP_CANCELED_FROZEN: 1918 + case CPU_DOWN_FAILED: 1919 + case CPU_DOWN_FAILED_FROZEN: 1920 + case CPU_ONLINE: 1921 + case CPU_ONLINE_FROZEN: 1922 + case CPU_DEAD: 1923 + case CPU_DEAD_FROZEN: 1924 + common_cpu_mem_hotplug_unplug(1); 1925 + break; 1926 + default: 1917 1927 return NOTIFY_DONE; 1928 + } 1918 1929 1919 - common_cpu_mem_hotplug_unplug(); 1920 - return 0; 1930 + return NOTIFY_OK; 1921 1931 } 1922 1932 1923 1933 #ifdef CONFIG_MEMORY_HOTPLUG ··· 1941 1929 1942 1930 void cpuset_track_online_nodes(void) 1943 1931 { 1944 - common_cpu_mem_hotplug_unplug(); 1932 + common_cpu_mem_hotplug_unplug(0); 1945 1933 } 1946 1934 #endif 1947 1935