From: Jeff Burke <jburke@redhat.com> Subject: [RHEL5.1 PATCH] sched: remove __cpuinitdata anotation to cpu_isolated_map Date: Wed, 28 Mar 2007 19:56:33 -0400 Bugzilla: 220069 Message-Id: <460B00B1.9060206@redhat.com> Changelog: [sched] remove __cpuinitdata from cpu_isolated_map Red Hat BZ#: ------ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=220069 Description: ------------ Current annotation of __devinitdata to cpu_isolated_map cause cpu_isolated_map to hold incorrect value during runtime and leads to corruption of sched_domains. Could lead to corruption of sched_domain and improper functioning of load balancing. RHEL Version Found: ------------------ RHEL5 Upstream Status: ---------------- Been in since 2.6.19.2 http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.19.2 commit fb0ddf36bdfec06438610afd1e44e40b6de06e55 Author: Tim Chen [PATCH] sched: remove __cpuinitdata anotation to cpu_isolated_map The structure cpu_isolated_map is used not only during initialization. Multi-core scheduler configuration changes and exclusive cpusets use this during run time. During setting of sched_mc_power_savings policy, this structure is accessed to update sched_domains. Signed-off-by: Tim Chen Acked-by: Suresh Siddha Acked-by: Ingo Molnar Signed-off-by: Chris Wright Test Status: ------------ This was not reproduced in house(Westford Red Hat). It was reported by Intel. They were testing when CONFIG_HOTPLUG is not turned on. Test Case: ---------- N/A BREW scratch build: ------------------- N/A Thanks, Jeff diff -ur vanilla.orig/kernel/sched.c vanilla/kernel/sched.c --- vanilla.orig/kernel/sched.c 2006-12-15 16:20:40.000000000 -0800 +++ vanilla/kernel/sched.c 2006-12-15 16:21:05.000000000 -0800 @@ -5417,7 +5417,7 @@ } /* cpus with isolated domains */ -static cpumask_t __devinitdata cpu_isolated_map = CPU_MASK_NONE; +static cpumask_t cpu_isolated_map = CPU_MASK_NONE; /* Setup the mask of cpus configured for isolated domains */ static int __init isolated_cpu_setup(char *str)