On Fri, 2012-10-26 at 16:57 +0300, Kirill A. Shutemov wrote:
> > > 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().
> > 
> > OK, so then we simply keep taking the same fault until the split is
> > complete? Wouldn't it be better to wait for it instead of spin on
> > faults?
> 
> IIUC, on next fault we will wait split the page in fallow_page(). 

What follow_page()?, a regular hardware page-fault will not call
follow_page() afaict, we do a down_read(), find_vma() and call
handle_mm_fault() -- with a lot of error and corner case checking in
between.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to