Hi Andrea, On 12/16/2013 03:52 PM, Andrea Arcangeli wrote:
Is the bug reproducible? If yes the simplest is probably to add some allocation tracking to the page, so if page->ptl is null we can simply print a stack trace of who allocated the page (and later forgot to initialize the ptl).
Yes, it's easy to reproduce. I've done as suggested and here's the trace from the allocation: [ 184.139519] [<ffffffff8107de0f>] save_stack_trace+0x2f/0x50 [ 184.140706] [<ffffffff81257769>] get_page_from_freelist+0x759/0x7a0 [ 184.141605] [<ffffffff81258438>] __alloc_pages_nodemask+0x3b8/0x520 [ 184.142810] [<ffffffff812a4baf>] alloc_pages_vma+0x1df/0x220 [ 184.143631] [<ffffffff812bcd58>] do_huge_pmd_wp_page+0x2d8/0x730 [ 184.144526] [<ffffffff81280e01>] __handle_mm_fault+0x2b1/0x3d0 [ 184.145361] [<ffffffff81281053>] handle_mm_fault+0x133/0x1c0 [ 184.146129] [<ffffffff812815f8>] __get_user_pages+0x448/0x640 [ 184.147055] [<ffffffff812827a4>] __mlock_vma_pages_range+0xd4/0xe0 [ 184.147980] [<ffffffff812828c0>] __mm_populate+0x110/0x190 [ 184.148933] [<ffffffff812839b2>] SyS_mlock+0xf2/0x130 [ 184.149689] [<ffffffff843c5e50>] tracesys+0xdd/0xe2
Agree with Kirill that it would help to verify the bug goes away by disabling USE_SPLIT_PTE_PTLOCKS.
It seems that the bug is gone without USE_SPLIT_PTE_PTLOCKS. Thanks, Sasha -- 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>