percpu: improve first chunk initial area map handling
commit61ace7fa2fff9c4b6641c506b6b3f1a9394a1b11
authorTejun Heo <tj@kernel.org>
Fri, 6 Mar 2009 05:33:59 +0000 (6 14:33 +0900)
committerTejun Heo <tj@kernel.org>
Fri, 6 Mar 2009 05:33:59 +0000 (6 14:33 +0900)
tree214d0e04227239c31f93ba6948cf58d67cfedcee
parent2441d15c97d498b18f03ae9fba262ffeae42a08b
percpu: improve first chunk initial area map handling

Impact: no functional change

When the first chunk is created, its initial area map is not allocated
because kmalloc isn't online yet.  The map is allocated and
initialized on the first allocation request on the chunk.  This works
fine but the scattering of initialization logic between the init
function and allocation path is a bit confusing.

This patch makes the first chunk initialize and use minimal statically
allocated map from pcpu_setpu_first_chunk().  The map resizing path
still needs to handle this specially but it's more straight-forward
and gives more latitude to the init path.  This will ease future
changes.

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