On Tue, Jan 8, 2013 at 8:31 AM, Kirill A. Shutemov <kir...@shutemov.name> wrote: >> >> Heh. I was more thinking about why do_huge_pmd_wp_page() needs it, but >> do_huge_pmd_numa_page() does not. > > It does. The check should be moved up. > >> Also, do we actually need it for huge_pmd_set_accessed()? The >> *placement* of that thing confuses me. And because it confuses me, I'd >> like to understand it. > > We need it for huge_pmd_set_accessed() too. > > Looks like a mis-merge. The original patch for huge_pmd_set_accessed() was > correct: http://lkml.org/lkml/2012/10/25/402
Not a merge error: the pmd_trans_splitting() check was removed by commit d10e63f29488 ("mm: numa: Create basic numa page hinting infrastructure"). Now, *why* it was removed, I can't tell. And it's not clear why the original code just had it in a conditional, while the suggested patch has that "goto repeat" thing. I suspect re-trying the fault (which I assume the original code did) is actually better, because that way you go through all the "should I reschedule as I return through the exception" stuff. I dunno. Mel, that original patch came from you , although it was based on previous work by Peter/Ingo/Andrea. Can you walk us through the history and thinking about the loss of pmd_trans_splitting(). Was it purely a mistake? It looks intentional. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/