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



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/



Relevant Pages

  • Re: 2.6.20-rc7: known regressions
    ... + * Wrap all the virtual calls in a way that forces the parameters on the stack. ... Then you wouldn't need all that ugly casting. ... ia64 already has such wrapper ...
    (Linux-Kernel)
  • Re: Add prefetch switch stack hook in scheduler function
    ... >minimum stack footprint' is larger, ... Surely the prefetch range has to depend on which direction the stack ... BTW, for ia64 you may as well prefetch pt_regs, that is also quite ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: Kernel thread stack usage
    ... Probably for ia64 we should just use one more register or algorithm to take into account second stack growing upward. ...
    (freebsd-arch)
  • Re: HPUX Stack Structure
    ... The ia64 is rather important.. ... you'll see that ia64 uses a Register Stack Engine model. ... as registers by your compiler.. ...
    (comp.sys.hp.hpux)