|
@@ -582,14 +582,14 @@ void __init setup_per_cpu_areas(void)
|
|
|
char *ptr;
|
|
|
|
|
|
/* Copy section for each CPU (we discard the original) */
|
|
|
- size = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES);
|
|
|
+ size = ALIGN(__per_cpu_end - __per_cpu_start, PAGE_SIZE);
|
|
|
#ifdef CONFIG_MODULES
|
|
|
if (size < PERCPU_ENOUGH_ROOM)
|
|
|
size = PERCPU_ENOUGH_ROOM;
|
|
|
#endif
|
|
|
|
|
|
for_each_possible_cpu(i) {
|
|
|
- ptr = alloc_bootmem_node(NODE_DATA(cpu_to_node(i)), size);
|
|
|
+ ptr = alloc_bootmem_pages_node(NODE_DATA(cpu_to_node(i)), size);
|
|
|
if (!ptr)
|
|
|
panic("Cannot allocate cpu data for CPU %d\n", i);
|
|
|
|