From: Andrew Morton Cc: Jan Beulich Signed-off-by: Andrew Morton --- kernel/timer.c | 16 +++++++--------- 1 files changed, 7 insertions(+), 9 deletions(-) diff -puN kernel/timer.c~tvec_bases-too-large-for-per-cpu-data-fix kernel/timer.c --- 25/kernel/timer.c~tvec_bases-too-large-for-per-cpu-data-fix Tue Jan 31 14:30:13 2006 +++ 25-akpm/kernel/timer.c Tue Jan 31 14:30:13 2006 @@ -1219,16 +1219,14 @@ static int __devinit init_timers_cpu(int if (!base) { static char boot_done; - /* Cannot do allocation in init_timers as that runs before the - allocator initializes (and would waste memory if there are - more possible CPUs than will ever be installed/brought up). */ + /* + * Cannot do allocation in init_timers as that runs before the + * allocator initializes (and would waste memory if there are + * more possible CPUs than will ever be installed/brought up). + */ if (boot_done) { -#ifdef CONFIG_NUMA - base = kmalloc_node(sizeof(*base), GFP_KERNEL, cpu_to_node(cpu)); - if (!base) - /* Just in case, fall back to normal allocation. */ -#endif - base = kmalloc(sizeof(*base), GFP_KERNEL); + base = kmalloc_node(sizeof(*base), GFP_KERNEL, + cpu_to_node(cpu)); if (!base) return -ENOMEM; memset(base, 0, sizeof(*base)); _