[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080128104520.e1e6c878.pj@sgi.com>
Date: Mon, 28 Jan 2008 10:45:20 -0600
From: Paul Jackson <pj@....com>
To: Mike Travis <travis@....com>
Cc: ioe-lkml@...eria.de, akpm@...ux-foundation.org, ak@...e.de,
mingo@...e.hu, clameter@....com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/5] x86: Add config variables for SMP_MAX
Ten days ago, Mike wrote:
> The primary problem arises because of cpumask_t local variables. Until I
> can deal with these, increasing NR_CPUS to a really large value increases
> stack size dramatically.
>
> Here are the top stack consumers with NR_CPUS = 4k.
>
> 16392 isolated_cpu_setup
> 10328 build_sched_domains
The problem in kernel/sched.c:isolated_cpu_setup() is an array of
NR_CPUS integers:
static int __init isolated_cpu_setup(char *str)
{
int ints[NR_CPUS], i;
str = get_options(str, ARRAY_SIZE(ints), ints);
Since isolated_cpu_setup() is an __init routine, perhaps we could
make that ints[] array static __initdata?
The build_sched_domains() may require more thought and code rework.
See also the lkml discussion of my patches that reworked the cpuset
code implementing 'sched_load_balance' calling into build_sched_domains
() via kernel/sched.c:partition_sched_domains(). This is not performance
critical code, fortunately.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@....com> 1.940.382.4214
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists