summaryrefslogtreecommitdiffstats
path: root/mm/rmap.c
diff options
context:
space:
mode:
authorNick Piggin2005-09-04 00:54:48 +0200
committerLinus Torvalds2005-09-05 09:05:43 +0200
commit4d7670e0f649f9e6e6ea6c8bb9f52441fa00f92b (patch)
tree52009a96e89a4fe2ff390cd34a7832c89d28f588 /mm/rmap.c
parent[PATCH] mm: micro-optimise rmap (diff)
downloadkernel-qcow2-linux-4d7670e0f649f9e6e6ea6c8bb9f52441fa00f92b.tar.gz
kernel-qcow2-linux-4d7670e0f649f9e6e6ea6c8bb9f52441fa00f92b.tar.xz
kernel-qcow2-linux-4d7670e0f649f9e6e6ea6c8bb9f52441fa00f92b.zip
[PATCH] mm: cleanup rmap
Thanks to Bill Irwin for pointing this out. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/rmap.c')
-rw-r--r--mm/rmap.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/mm/rmap.c b/mm/rmap.c
index 7e975ca24c78..450f5241b5a5 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -445,16 +445,12 @@ void page_add_anon_rmap(struct page *page,
if (atomic_inc_and_test(&page->_mapcount)) {
struct anon_vma *anon_vma = vma->anon_vma;
- pgoff_t index;
BUG_ON(!anon_vma);
anon_vma = (void *) anon_vma + PAGE_MAPPING_ANON;
page->mapping = (struct address_space *) anon_vma;
- index = (address - vma->vm_start) >> PAGE_SHIFT;
- index += vma->vm_pgoff;
- index >>= PAGE_CACHE_SHIFT - PAGE_SHIFT;
- page->index = index;
+ page->index = linear_page_index(vma, address);
inc_page_state(nr_mapped);
}