]> git.hungrycats.org Git - linux/commit
[PATCH] rmaplock: PageAnon in mapping
authorHugh Dickins <hugh@veritas.com>
Tue, 24 Aug 2004 04:23:59 +0000 (21:23 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 24 Aug 2004 04:23:59 +0000 (21:23 -0700)
commit6f055bc1a7c5e20dc145faff534f98cfc841b02d
tree808762c341c12c05af49054977e768e98794e70e
parent52ad51e6806b50b4aaf977ce881dfd99071528d6
[PATCH] rmaplock: PageAnon in mapping

First of a batch of five patches to eliminate rmap's page_map_lock, replace
its trylocking by spinlocking, and use anon_vma to speed up swapoff.

Patches updated from the originals against 2.6.7-mm7: nothing new so I won't
spam the list, but including Manfred's SLAB_DESTROY_BY_RCU fixes, and omitting
the unuse_process mmap_sem fix already in 2.6.8-rc3.

This patch:

Replace the PG_anon page->flags bit by setting the lower bit of the pointer in
page->mapping when it's anon_vma: PAGE_MAPPING_ANON bit.

We're about to eliminate the locking which kept the flags and mapping in
synch: it's much easier to work on a local copy of page->mapping, than worry
about whether flags and mapping are in synch (though I imagine it could be
done, at greater cost, with some barriers).

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/mm.h
include/linux/page-flags.h
mm/page_alloc.c
mm/rmap.c