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, 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>