[GIT PULL] percpu changes for v3.15-rc1

From: Tejun Heo
Date: Mon Mar 31 2014 - 14:58:36 EST


Hello, Linus.

percpu allocation is now popular enough for the extremely naive range
allocator to cause scalability issues. The existing allocator
linearly scanned the allocation map on both alloc and free without
making use of hint or anything. Al reimplemented the range allocator
so that it can use binary search instead of linear scan during free
and alloc path uses simple hinting to avoid scanning in common cases.
Combined, the new allocator resolves the scalability issue percpu
allocator was showing during container benchmark workload.

The following changes since commit 0f0ca14386e0431fbedaae5efc550d46cf93b9cf:

Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging (2014-02-22 08:29:25 -0800)

are available in the git repository at:


git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git for-3.15

for you to fetch changes up to 21ddfd38ee9aac804d22beaceed4c7b903cca234:

percpu: renew the max_contig if we merge the head and previous block (2014-03-29 09:29:42 -0400)

Thanks.

----------------------------------------------------------------
Al Viro (4):
perpcu: fold pcpu_split_block() into the only caller
percpu: store offsets instead of lengths in ->map[]
percpu: speed alloc_pcpu_area() up
percpu: allocation size should be even

Jianyu Zhan (1):
percpu: renew the max_contig if we merge the head and previous block

mm/percpu.c | 208 ++++++++++++++++++++++++++++++++----------------------------
1 file changed, 112 insertions(+), 96 deletions(-)

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/