Messages in this thread | | | Date | Wed, 18 Nov 2009 19:25:52 -0500 | From | Rik van Riel <> | Subject | Re: [PATCH 1/6] mm: define PAGE_MAPPING_FLAGS |
| |
On 11/10/2009 04:51 PM, Hugh Dickins wrote: > At present we define PageAnon(page) by the low PAGE_MAPPING_ANON bit > set in page->mapping, with the higher bits a pointer to the anon_vma; > and have defined PageKsm(page) as that with NULL anon_vma. > > But KSM swapping will need to store a pointer there: so in preparation > for that, now define PAGE_MAPPING_FLAGS as the low two bits, including > PAGE_MAPPING_KSM (always set along with PAGE_MAPPING_ANON, until some > other use for the bit emerges). > > Declare page_rmapping(page) to return the pointer part of page->mapping, > and page_anon_vma(page) to return the anon_vma pointer when that's what > it is. Use these in a few appropriate places: notably, unuse_vma() has > been testing page->mapping, but is better to be testing page_anon_vma() > (cases may be added in which flag bits are set without any pointer). > > Signed-off-by: Hugh Dickins<hugh.dickins@tiscali.co.uk> > > Reviewed-by: Rik van Riel <riel@redhat.com>
| |