percpu: make sure chunk->map array has available space
authorTejun Heo <tj@kernel.org>
Tue, 2 Sep 2014 18:46:05 +0000 (14:46 -0400)
committerTejun Heo <tj@kernel.org>
Tue, 2 Sep 2014 18:46:05 +0000 (14:46 -0400)
An allocation attempt may require extending chunk->map array which
requires GFP_KERNEL context which isn't available for atomic
allocations.  This patch ensures that chunk->map array usually keeps
some amount of available space by directly allocating buffer space
during GFP_KERNEL allocations and scheduling async extension during
atomic ones.  This should make atomic allocation failures from map
space exhaustion rare.

Signed-off-by: Tejun Heo <tj@kernel.org>
mm/percpu.c

diff --cc mm/percpu.c
Simple merge