sched: Fix KMALLOC_MAX_SIZE overflow during cpumask allocation
authorAlex Thorlton <athorlton@sgi.com>
Thu, 18 Dec 2014 18:44:30 +0000 (12:44 -0600)
committerIngo Molnar <mingo@kernel.org>
Tue, 23 Dec 2014 10:43:48 +0000 (11:43 +0100)
commitb74e6278fd6db5848163ccdc6e9d8eb6efdee9bd
tree912409011e17c43a33a1f08e40c871b903697b1f
parentaa39477b5692611b91ac9455ae588738852b3f60
sched: Fix KMALLOC_MAX_SIZE overflow during cpumask allocation

When allocating space for load_balance_mask, in sched_init, when
CPUMASK_OFFSTACK is set, we've managed to spill over
KMALLOC_MAX_SIZE on our 6144 core machine.  The patch below
breaks up the allocations so that they don't overflow the max
alloc size.  It also allocates the masks on the the node from
which they'll most commonly be accessed, to minimize remote
accesses on NUMA machines.

Suggested-by: George Beshers <gbeshers@sgi.com>
Signed-off-by: Alex Thorlton <athorlton@sgi.com>
Cc: George Beshers <gbeshers@sgi.com>
Cc: Russ Anderson <rja@sgi.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1418928270-148543-1-git-send-email-athorlton@sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/core.c