ia64: Convert cpu_sibling_map to a per_cpu data array FIX
cover ia64: Convert cpu_sibling_map to a per_cpu data array FIX
The previous version of this patch missed a code path in inserting the boot cpu into the cpu sibling and core maps.
This fix corrects that omission.
--
Signature · 5 lines
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
PATCH 1/1 ia64: Convert cpu_sibling_map to a per_cpu data array FIX
There are two versions of per_cpu_init() for ia64. This patch corrects the problem that one of the versions did not insert the boot cpu into the cpu sibling and core maps.
Signed-off-by Mike Travis <[email protected]>
--- arch/ia64/kernel/setup.c | 8 ++++++++ arch/ia64/mm/contig.c | 6 ------ 2 files changed, 8 insertions(+), 6 deletions(-)
arch/ia64/kernel/setup.c +8 -0
@@ -873,6 +873,14 @@ cpu_init (void)void *cpu_data; cpu_data =per_cpu_init (); +/* +* insert boot cpu into sibling and core mapes +* (must be done after per_cpu area is setup) +*/ +if (smp_processor_id () ==0 ) { +cpu_set (0 ,per_cpu (cpu_sibling_map,0 )); +cpu_set (0 , cpu_core_map[0 ]); + }/* * We set ar.k3 so that assembly code in MCA handler can compute
arch/ia64/mm/contig.c +0 -6
@@ -212,12 +212,6 @@ per_cpu_init (void) cpu_data +=PERCPU_PAGE_SIZE ;per_cpu (local_per_cpu_offset, cpu) = __per_cpu_offset[cpu]; } -/* -* cpu_sibling_map is now a per_cpu variable - it needs to -* be accessed after per_cpu_init() sets up the per_cpu area. -*/ -cpu_set (0 ,per_cpu (cpu_sibling_map,0 )); -cpu_set (0 , cpu_core_map[0 ]); }return __per_cpu_start + __per_cpu_offset[smp_processor_id ()]; }
Signature · 5 lines
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>