From: Tejun Heo <tj@kernel.org>
To: linux-kernel@vger.kernel.org, graff.yang@gmail.com,
dhowells@redhat.com, akpm@linux-foundation.org,
uclinux-dist-devel@blackfin.uclinux.org, sonic.adi@gmail.com,
cl@linux-foundation.org, mingo@elte.hu
Subject: percpu: implement nommu support
Date: Thu, 8 Apr 2010 13:11:00 +0900 [thread overview]
Message-ID: <1270699865-16954-1-git-send-email-tj@kernel.org> (raw)
Hello,
This patchset implements nommu support in percpu allocator. Chunk
alloc/free/(de)populate codes are separated into a separate file so
that different flavor can be included depending on configuration. The
default vmalloc area based version now lives in percpu-vm.c and the
new kernel memory based one lives in percpu-km.c and can be selected
by CONFIG_NEED_PER_CPU_KM.
percpu-km allocates each chunk as contigus area in kernel memory using
alloc_pages(). For details on usage and limitations, please read the
patch description and comment in mm/percpu-km.c.
This patchset contains the following five patches.
0001-percpu-factor-out-pcpu_addr_in_first-reserved_chunk-.patch
0002-percpu-reorganize-chunk-creation-and-destruction.patch
0003-percpu-misc-preparations-for-nommu-support.patch
0004-percpu-move-vmalloc-based-chunk-management-into-perc.patch
0005-percpu-implement-kernel-memory-based-chunk-allocatio.patch
0001-0003 prepare for future changes - factor things out, relocate,
clean up.
0004 separates out the default vmalloc based chunk management into
percpu-vm.c.
0005 implements percpu-km.c.
The following git branch contains these patches.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git nommu
I've tested percpu-km on x86_64 w/ configuration and percpu init code
massged. Sonic Zhang tested it on blackfin and reports it works fine
there too (Sonic, please base further tests on these new patches).
I'll wait several days for review and further test results and then
push these patches to linux-next.
This patchset contains the following changes.
mm/percpu-km.c | 104 ++++++++++
mm/percpu-vm.c | 451 ++++++++++++++++++++++++++++++++++++++++++++
mm/percpu.c | 584 ++++++++++-----------------------------------------------
3 files changed, 664 insertions(+), 475 deletions(-)
Thanks.
--
tejun
next reply other threads:[~2010-04-08 4:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-08 4:11 Tejun Heo [this message]
2010-04-08 4:11 ` [PATCH 1/5] percpu: factor out pcpu_addr_in_first/reserved_chunk() and update per_cpu_ptr_to_phys() Tejun Heo
2010-04-08 4:11 ` [PATCH 2/5] percpu: reorganize chunk creation and destruction Tejun Heo
2010-04-09 9:58 ` [PATCH 2/5 UPDATED] " Tejun Heo
2010-04-08 4:11 ` [PATCH 3/5] percpu: misc preparations for nommu support Tejun Heo
2010-04-08 4:11 ` [PATCH 4/5] percpu: move vmalloc based chunk management into percpu-vm.c Tejun Heo
2010-04-08 4:11 ` [PATCH 5/5] percpu: implement kernel memory based chunk allocation Tejun Heo
2010-04-08 14:06 ` percpu: implement nommu support David Howells
2010-05-01 6:31 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1270699865-16954-1-git-send-email-tj@kernel.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=graff.yang@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sonic.adi@gmail.com \
--cc=uclinux-dist-devel@blackfin.uclinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).