lkml.org 
[lkml]   [2008]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH sched-devel 4/7] cpuisol: Move on-stack array used for boot cmd parsing into __initdata
Date
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@qualcomm.com>
---
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


\
 
 \ /
  Last update: 2008-02-22 22:13    [W:0.040 / U:2.908 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site