Message ID | 1392761566-24834-3-git-send-email-riel@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 18 Feb 2014, riel@redhat.com wrote: > From: Rik van Riel <riel@redhat.com> > > Reorganize the order of ifs in change_pmd_range a little, in > preparation for the next patch. > > Signed-off-by: Rik van Riel <riel@redhat.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Andrea Arcangeli <aarcange@redhat.com> > Reported-by: Xing Gang <gang.xing@hp.com> > Tested-by: Chegu Vinod <chegu_vinod@hp.com> Acked-by: David Rientjes <rientjes@google.com> > --- > mm/mprotect.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/mm/mprotect.c b/mm/mprotect.c > index 769a67a..6006c05 100644 > --- a/mm/mprotect.c > +++ b/mm/mprotect.c > @@ -118,6 +118,8 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma, > unsigned long this_pages; > > next = pmd_addr_end(addr, end); > + if (!pmd_trans_huge(*pmd) && pmd_none_or_clear_bad(pmd)) > + continue; > if (pmd_trans_huge(*pmd)) { > if (next - addr != HPAGE_PMD_SIZE) > split_huge_page_pmd(vma, addr, pmd); Extra tab there, though. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/mm/mprotect.c b/mm/mprotect.c index 769a67a..6006c05 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -118,6 +118,8 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma, unsigned long this_pages; next = pmd_addr_end(addr, end); + if (!pmd_trans_huge(*pmd) && pmd_none_or_clear_bad(pmd)) + continue; if (pmd_trans_huge(*pmd)) { if (next - addr != HPAGE_PMD_SIZE) split_huge_page_pmd(vma, addr, pmd); @@ -133,10 +135,9 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma, continue; } } - /* fall through */ + /* fall through, the trans huge pmd just split */ } - if (pmd_none_or_clear_bad(pmd)) - continue; + VM_BUG_ON(pmd_trans_huge(*pmd)); this_pages = change_pte_range(vma, pmd, addr, next, newprot, dirty_accountable, prot_numa); pages += this_pages;