On Thu, 15 May 2014, Sasha Levin wrote: > On 05/15/2014 01:37 PM, Hugh Dickins wrote: > > On Thu, 15 May 2014, Sasha Levin wrote: > >> On 04/07/2014 04:11 PM, Kirill A. Shutemov wrote: > >>> On Mon, Apr 07, 2014 at 03:40:46PM -0400, Sasha Levin wrote: > >>>>> It also breaks fairly quickly under testing because: > >>>>> > >>>>> On 04/07/2014 10:48 AM, Kirill A. Shutemov wrote: > >>>>>>> + if (IS_ENABLED(CONFIG_DEBUG_PAGEALLOC)) { > >>>>>>> + spin_lock(ptl); > >>>>> > >>>>> ^ We go into atomic > >>>>> > >>>>>>> + if (unlikely(!pmd_same(*pmd, orig_pmd))) > >>>>>>> + goto out_race; > >>>>>>> + } > >>>>>>> + > >>>>>>> if (!page) > >>>>>>> clear_huge_page(new_page, haddr, HPAGE_PMD_NR); > >>>>>>> else > >>>>>>> copy_user_huge_page(new_page, page, haddr, vma, HPAGE_PMD_NR); > >>>>> > >>>>> copy_user_huge_page() doesn't like running in atomic state, > >>>>> and asserts might_sleep(). > >>> Okay, I'll try something else. > >> > >> I've Cc'ed Josh Boyer to this since it just occurred to me that Fedora > >> is running with CONFIG_DEBUG_VM set, where this bug is rather easy to > >> trigger. > >> > >> This issue was neglected because it triggers only on CONFIG_DEBUG_VM builds, > >> but with Fedora running that, maybe it shouldn't be? > > > > But it triggers only on CONFIG_DEBUG_PAGEALLOC builds, doesn't it? > > I hope Fedora doesn't go out with that enabled. > > Ow, it needs DEBUG_PAGEALLOC too? I forgot about that one. Yes. And furthermore, whereas many DEBUG_PAGEALLOC reports are early warnings of real problems in non-DEBUG_PAGEALLOC kernels, this one is not. It's a case where the non-DEBUG_PAGEALLOC kernel is correct, and the DEBUG_PAGEALLOC kernel too strict. Fixable, but not yet in a way that satisfied Kirill or me. > > No problem for Fedora then, sorry for the noise :( Oh, this is much more welcome noise than your usual bug reports :) Hugh -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>