Skip to content

Commit

Permalink
Clean up __page_set_anon_rmap
Browse files Browse the repository at this point in the history
Linus asked for a cleanup of __page_set_anon_rmap to make
it look more like the cleaner huge pages version.

Factor out the duplicated PageAnon check into a single check
at the beginning of the function.

Remove obsolete comments and rewrite them into standard English.

No functional changes.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
  • Loading branch information
Andi Kleen committed Oct 8, 2010
1 parent 6a90181 commit 4e1c197
Showing 1 changed file with 8 additions and 17 deletions.
25 changes: 8 additions & 17 deletions mm/rmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -780,10 +780,10 @@ void page_move_anon_rmap(struct page *page,
}

/**
* __page_set_anon_rmap - setup new anonymous rmap
* @page: the page to add the mapping to
* @vma: the vm area in which the mapping is added
* @address: the user virtual address mapped
* __page_set_anon_rmap - set up new anonymous rmap
* @page: Page to add to rmap
* @vma: VM area to add page to.
* @address: User virtual address of the mapping
* @exclusive: the page is exclusively owned by the current process
*/
static void __page_set_anon_rmap(struct page *page,
Expand All @@ -793,25 +793,16 @@ static void __page_set_anon_rmap(struct page *page,

BUG_ON(!anon_vma);

if (PageAnon(page))
return;

/*
* If the page isn't exclusively mapped into this vma,
* we must use the _oldest_ possible anon_vma for the
* page mapping!
*/
if (!exclusive) {
if (PageAnon(page))
return;
if (!exclusive)
anon_vma = anon_vma->root;
} else {
/*
* In this case, swapped-out-but-not-discarded swap-cache
* is remapped. So, no need to update page->mapping here.
* We convice anon_vma poitned by page->mapping is not obsolete
* because vma->anon_vma is necessary to be a family of it.
*/
if (PageAnon(page))
return;
}

anon_vma = (void *) anon_vma + PAGE_MAPPING_ANON;
page->mapping = (struct address_space *) anon_vma;
Expand Down

0 comments on commit 4e1c197

Please sign in to comment.