[PATCH sched-devel 4/7] cpuisol: Move on-stack array used for boot cmd parsing into __initdata

From: Max Krasnyansky
Date: Fri Feb 22 2008 - 16:10:14 EST


Suggested by Andrew Morton:

isolated_cpu_setup() has an on-stack array of NR_CPUS integers. This
will consume 4k of stack on ia64 (at least). We'll just squeak through
for a ittle while, but this needs to be fixed. Just move it into
__initdata.

Signed-off-by: Max Krasnyansky <maxk@xxxxxxxxxxxx>
---
kernel/cpu.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/kernel/cpu.c b/kernel/cpu.c
index a0ac386..b3af739 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -446,15 +446,20 @@ out:

#ifdef CONFIG_CPUISOL
/* Setup the mask of isolated cpus */
+
+static int __initdata isolcpu[NR_CPUS];
+
static int __init isolated_cpu_setup(char *str)
{
- int ints[NR_CPUS], i;
+ int i, n;
+
+ str = get_options(str, ARRAY_SIZE(isolcpu), isolcpu);
+ n = isolcpu[0];

- str = get_options(str, ARRAY_SIZE(ints), ints);
cpus_clear(cpu_isolated_map);
- for (i = 1; i <= ints[0]; i++)
- if (ints[i] < NR_CPUS)
- cpu_set(ints[i], cpu_isolated_map);
+ for (i = 1; i <= n; i++)
+ if (isolcpu[i] < NR_CPUS)
+ cpu_set(isolcpu[i], cpu_isolated_map);
return 1;
}

--
1.5.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/