Re: [PATCH 1/4] hugetlb, rmap: always use anon_vma root pointer

From: Rik van Riel
Date: Fri Sep 10 2010 - 22:10:07 EST


On 09/10/2010 05:50 PM, Andi Kleen wrote:
On Fri, 10 Sep 2010 10:19:24 -0700
Linus Torvalds<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

On Thu, Sep 9, 2010 at 9:23 PM, Naoya Horiguchi
<n-horiguchi@xxxxxxxxxxxxx> wrote:
This patch applies Andrea's fix given by the following patch into
hugepage rmapping code:

commit 288468c334e98aacbb7e2fb8bde6bc1adcd55e05
Author: Andrea Arcangeli<aarcange@xxxxxxxxxx>
Date: Mon Aug 9 17:19:09 2010 -0700

This patch uses anon_vma->root and avoids unnecessary overwriting
when anon_vma is already set up.

Btw, why isn't the code in __page_set_anon_rmap() also doing this
cleaner version (ie a single "if (PageAnon(page)) return;" up front)?

Perhaps I misunderstand the question, but __page_set_anon_rmap
should handle Anon pages, shouldn't it?

__page_set_anon_rmap sets the page->mapping to be
a pointer to the anon_vma & PAGE_MAPPING_ANON.

PageAnon tests for page->mapping & PAGE_MAPPING_ANON,
ie. whether page->mapping is already pointing to an
anon_vma.

If it is, __page_set_anon_rmap should leave the page
mapping pointer alone.

--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/