On Tue, Jan 8, 2013 at 1:34 AM, Linus Torvalds <torva...@linux-foundation.org> wrote: > On Mon, Jan 7, 2013 at 4:24 AM, Hillf Danton <dhi...@gmail.com> wrote: >> >> I take another try with waiting added, take a look please. > > Hmm. Is there some reason we never need to worry about it for the > "pmd_numa()" case just above? > > A comment about this all might be a really good idea. > Yes Sir, added. --- From: Hillf Danton <dhi...@gmail.com> Subject: [PATCH] mm: restore huge pmd splitting check
Hugh said, it's clear that 3.7 had an important pmd_trans_splitting(orig_pmd) check there, which went AWOL in d10e63f29488 "mm: numa: Create basic numa page hinting infrastructure". It is restored for handling stable page fault, with wait_split_huge_page() added, as suggested also by Hugh, to avoid reapted faults until the split has completed. This work is inspired by the oops reported by Dave Jones at https://lkml.org/lkml/2013/1/5/115 Signed-off-by: Hillf Danton <dhi...@gmail.com> --- --- a/mm/memory.c Sun Jan 6 19:49:50 2013 +++ b/mm/memory.c Tue Jan 8 20:28:04 2013 @@ -3710,6 +3710,14 @@ retry: return do_huge_pmd_numa_page(mm, vma, address, orig_pmd, pmd); + /* + * Check if pmd is stable + * (numa pmd is stable, see change_huge_pmd()) + */ + if (pmd_trans_splitting(orig_pmd)) { + wait_split_huge_page(vma->anon_vma, pmd); + goto retry; + } if (dirty && !pmd_write(orig_pmd)) { ret = do_huge_pmd_wp_page(mm, vma, address, pmd, orig_pmd); -- -- 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/