lkml.org 
[lkml]   [2012]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] numa, mm: drop redundant check in do_huge_pmd_numa_page()
On Fri, Oct 26, 2012 at 03:08:05PM +0200, Peter Zijlstra wrote:
> On Fri, 2012-10-26 at 15:54 +0300, Kirill A. Shutemov wrote:
> > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> >
> > We check if the pmd entry is the same as on pmd_trans_huge() in
> > handle_mm_fault(). That's enough.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>
> Ah indeed, Will mentioned something like this on IRC as well, I hadn't
> gotten around to looking at it -- now have, thanks!
>
> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
>
> That said, where in handle_mm_fault() do we wait for a split to
> complete? We have a pmd_trans_huge() && !pmd_trans_splitting(), so a
> fault on a currently splitting pmd will fall through.
>
> Is it the return from the fault on unlikely(pmd_trans_huge()) ?

Yes, this code will catch it:

/* if an huge pmd materialized from under us just retry later */
if (unlikely(pmd_trans_huge(*pmd)))
return 0;

If the pmd is under splitting it's still a pmd_trans_huge().

--
Kirill A. Shutemov
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2012-10-26 16:21    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog