There has a bug in khugepaged_prealloc_page, the page-alloc indicator is not reset if the previous page request is failed, then it will trigger the VM_BUG_ON in khugepaged_alloc_page. It is fixed by the first patch which need not be back port for it was introduced by recent commit. (sorry for that)
As Hugh pointed out, this are some ugly portions: - releasing mmap_sem lock is hidden in khugepaged_alloc_page - page is freed in khugepaged_prealloc_page The later two patches try to fix these issues. Hugh, If any point i missed, please let me know, and sorry to waste your time on my broken patch. -- 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/