On Tue, Mar 31, 2015 at 02:35:21PM -0700, Andrew Morton wrote: > On Tue, 31 Mar 2015 01:45:55 +0000 Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> wrote: > > > Currently when a process accesses to hugetlb range protected with PROTNONE, > > unexpected COWs are triggered, 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. > > > > This patch simply stops changing protection for vma(VM_HUGETLB) to fix the > > problem. And this also allows us to avoid useless overhead of minor faults. > > > > ... > > > > --- a/kernel/sched/fair.c > > +++ b/kernel/sched/fair.c > > @@ -2161,8 +2161,10 @@ void task_numa_work(struct callback_head *work) > > vma = mm->mmap; > > } > > for (; vma; vma = vma->vm_next) { > > - if (!vma_migratable(vma) || !vma_policy_mof(vma)) > > + if (!vma_migratable(vma) || !vma_policy_mof(vma) || > > + is_vm_hugetlb_page(vma)) { > > continue; > > + } > > > > /* > > * Shared library pages mapped by multiple processes are not > > Which kernel version(s) need this patch? I don't bisect completely, but the problem this patch is mentioning is visible since v4.0-rc1 (not reproduced at v3.19). Thanks, Naoya Horiguchi -- 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