From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f173.google.com ([209.85.212.173]:38551 "EHLO mail-wi0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751822AbbFKGSW (ORCPT ); Thu, 11 Jun 2015 02:18:22 -0400 Received: by wibdq8 with SMTP id dq8so144132wib.1 for ; Wed, 10 Jun 2015 23:18:21 -0700 (PDT) Date: Thu, 11 Jun 2015 08:18:17 +0200 From: Ingo Molnar To: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org, mgorman@suse.de, a.p.zijlstra@chello.nl, jovi@cloudflare.com, mingo@elte.hu, stable@vger.kernel.org Subject: Re: [patch 7/8] sched, numa: do not hint for NUMA balancing on VM_MIXEDMAP mappings Message-ID: <20150611061816.GA32133@gmail.com> References: <55787ea4.xpi6VnM/eXBZb7sr%akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55787ea4.xpi6VnM/eXBZb7sr%akpm@linux-foundation.org> Sender: stable-owner@vger.kernel.org List-ID: * akpm@linux-foundation.org wrote: > From: Mel Gorman > Subject: sched, numa: do not hint for NUMA balancing on VM_MIXEDMAP mappings > > Jovi Zhangwei reported the following problem > > Below kernel vm bug can be triggered by tcpdump which mmaped a lot of pages > with GFP_COMP flag. > > [Mon May 25 05:29:33 2015] page:ffffea0015414000 count:66 mapcount:1 mapping: (null) index:0x0 > [Mon May 25 05:29:33 2015] flags: 0x20047580004000(head) > [Mon May 25 05:29:33 2015] page dumped because: VM_BUG_ON_PAGE(compound_order(page) && !PageTransHuge(page)) > [Mon May 25 05:29:33 2015] ------------[ cut here ]------------ > [Mon May 25 05:29:33 2015] kernel BUG at mm/migrate.c:1661! > [Mon May 25 05:29:33 2015] invalid opcode: 0000 [#1] SMP > --- a/kernel/sched/fair.c~sched-numa-do-not-hint-for-numa-balancing-on-vm_mixedmap-mappings > +++ a/kernel/sched/fair.c > @@ -2181,7 +2181,7 @@ void task_numa_work(struct callback_head > } > for (; vma; vma = vma->vm_next) { > if (!vma_migratable(vma) || !vma_policy_mof(vma) || > - is_vm_hugetlb_page(vma)) { > + is_vm_hugetlb_page(vma) || (vma->vm_flags & VM_MIXEDMAP)) { > continue; > } the fix looks good to me, but this should really be done in a bit cleaner fashion, by breaking out an vma_numa_migratable() inline helper or so? Anyway: Acked-by: Ingo Molnar Thanks, Ingo