sched: put back some stack hog changes that were undone in kernel/sched.c
authorMike Travis <travis@sgi.com>
Thu, 1 Jan 2009 02:08:45 +0000 (18:08 -0800)
committerIngo Molnar <mingo@elte.hu>
Sat, 3 Jan 2009 18:00:09 +0000 (19:00 +0100)
commit6ca09dfc9f180d038dcef93c167a833f43a8246f
tree48cd4e6530a7523d7d14d2c18fa7d3bd2ef49a4e
parent730cf27246225d56ca1603b2f3c4fdbf882d4e51
sched: put back some stack hog changes that were undone in kernel/sched.c

Impact: prevents panic from stack overflow on numa-capable machines.

Some of the "removal of stack hogs" changes in kernel/sched.c by using
node_to_cpumask_ptr were undone by the early cpumask API updates, and
causes a panic due to stack overflow.  This patch undoes those changes
by using cpumask_of_node() which returns a 'const struct cpumask *'.

In addition, cpu_coregoup_map is replaced with cpu_coregroup_mask further
reducing stack usage.  (Both of these updates removed 9 FIXME's!)

Also:
   Pick up some remaining changes from the old 'cpumask_t' functions to
   the new 'struct cpumask *' functions.

   Optimize memory traffic by allocating each percpu local_cpu_mask on the
   same node as the referring cpu.

Signed-off-by: Mike Travis <travis@sgi.com>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c
kernel/sched_rt.c