diff options
author | Christoph Lameter <cl@linux.com> | 2009-04-02 13:21:44 +0900 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-08 18:31:31 +0200 |
commit | e1b9aa3f47242e757c776a3771bb6613e675bf9c (patch) | |
tree | aa81121a42fdc7f2f1cc916db67558ec3d0f5017 /mm/bootmem.c | |
parent | ae9e6bc9f74f8247cbca50a6a93c80e0d686fa19 (diff) | |
download | op-kernel-dev-e1b9aa3f47242e757c776a3771bb6613e675bf9c.zip op-kernel-dev-e1b9aa3f47242e757c776a3771bb6613e675bf9c.tar.gz |
percpu: remove rbtree and use page->index instead
Impact: use page->index for addr to chunk mapping instead of dedicated rbtree
The rbtree is used to determine the chunk from the virtual address.
However, we can already determine the page struct from a virtual
address and there are several unused fields in page struct used by
vmalloc. Use the index field to store a pointer to the chunk. Then
there is no need anymore for an rbtree.
tj: * s/(set|get)_chunk/pcpu_\1_page_chunk/
* Drop inline from the above two functions and moved them upwards
so that they are with other simple helpers.
* Initial pages might not (actually most of the time don't) live
in the vmalloc area. With the previous patch to manually
reverse-map both first chunks, this is no longer an issue.
Removed pcpu_set_chunk() call on initial pages.
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: rusty@rustcorp.com.au
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: rmk@arm.linux.org.uk
Cc: starvik@axis.com
Cc: ralf@linux-mips.org
Cc: davem@davemloft.net
Cc: cooloney@kernel.org
Cc: kyle@mcmartin.ca
Cc: matthew@wil.cx
Cc: grundler@parisc-linux.org
Cc: takata@linux-m32r.org
Cc: benh@kernel.crashing.org
Cc: rth@twiddle.net
Cc: ink@jurassic.park.msu.ru
Cc: heiko.carstens@de.ibm.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nick Piggin <npiggin@suse.de>
LKML-Reference: <49D43D58.4050102@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'mm/bootmem.c')
0 files changed, 0 insertions, 0 deletions