Messages in this thread Patch in this message | | | From | Yinghai Lu <> | Subject | [PATCH 13/16] add per_cpu_dyn_array for arch percpu support | Date | Fri, 1 Aug 2008 02:37:41 -0700 |
| |
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
--- init/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Index: linux-2.6/init/main.c =================================================================== --- linux-2.6.orig/init/main.c +++ linux-2.6/init/main.c @@ -394,17 +394,19 @@ EXPORT_SYMBOL(__per_cpu_offset); static void __init setup_per_cpu_areas(void) { - unsigned long size, i; + unsigned long size, i, old_size; char *ptr; unsigned long nr_possible_cpus = num_possible_cpus(); /* Copy section for each CPU (we discard the original) */ - size = ALIGN(PERCPU_ENOUGH_ROOM, PAGE_SIZE); + old_size = PERCPU_ENOUGH_ROOM; + size = ALIGN(old_size + per_cpu_dyn_array_size(), PAGE_SIZE); ptr = alloc_bootmem_pages(size * nr_possible_cpus); for_each_possible_cpu(i) { __per_cpu_offset[i] = ptr - __per_cpu_start; memcpy(ptr, __per_cpu_start, __per_cpu_end - __per_cpu_start); + per_cpu_alloc_dyn_array(cpu, ptr + old_size); ptr += size; } }
| |