On Mon, Mar 30, 2015 at 07:42:13PM +0900, Naoya Horiguchi wrote: > On 03/30/2015 07:28 PM, Mel Gorman wrote: > >On Mon, Mar 30, 2015 at 09:40:54AM +0000, Naoya Horiguchi wrote: > >>hugetlb doesn't support NUMA balancing now, but that doesn't mean that we > >>don't have to make hugetlb code prepared for PROTNONE entry properly. > >>In the current kernel, when a process accesses to hugetlb range protected > >>with PROTNONE, it causes unexpected COWs, which finally put hugetlb subsystem > >>into broken/uncontrollable state, where for example h->resv_huge_pages is > >>subtracted too much and wrapped around to a very large number, and free > >>hugepage pool is no longer maintainable. > >> > > > >Ouch! > > > >>This patch simply clears PROTNONE when it's caught out. Real NUMA balancing > >>code for hugetlb is not implemented yet (not sure how much it's worth doing.) > >> > > > >It's not worth doing at all. Furthermore, an application that took the > >effort to allocate and use hugetlb pages is not going to appreciate the > >minor faults incurred by automatic balancing for no gain. > > OK, > > >Why not something > >like the following untested patch? > > I'll test this tomorrow. > Thank you very much for the comment. > I note now that the patch was too hasty. By rights, that check should be covered by vma_migratable() but it's only checked if CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION which means it's x86-only. If you are seeing this problem on any other arch then a more correct fix might be to remove the CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION check in vma_migratable. -- Mel Gorman SUSE Labs -- 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>