From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [Bug 87891] New: kernel BUG at mm/slab.c:2625! Date: Tue, 11 Nov 2014 17:56:03 -0800 Message-ID: <20141111175603.ede86030.akpm@linux-foundation.org> References: <20141111153120.9131c8e1459415afff8645bc@linux-foundation.org> <20141111164913.3616531c21c91499871c46de@linux-foundation.org> <20141112012241.GA17446@node.dhcp.inet.fi> <20141112014703.GB17446@node.dhcp.inet.fi> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) by gabe.freedesktop.org (Postfix) with ESMTP id EA9026E0BB for ; Tue, 11 Nov 2014 17:55:31 -0800 (PST) In-Reply-To: <20141112014703.GB17446@node.dhcp.inet.fi> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Kirill A. Shutemov" Cc: Tetsuo Handa , bugzilla-daemon@bugzilla.kernel.org, linux-mm@kvack.org, Mel Gorman , Ming Lei , Johannes Weiner , luke-jr+linuxbugs@utopios.org, dri-devel@lists.freedesktop.org, Pekka Enberg , David Rientjes , Joonsoo Kim , Christoph Lameter List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAxMiBOb3YgMjAxNCAwMzo0NzowMyArMDIwMCAiS2lyaWxsIEEuIFNodXRlbW92IiA8 a2lyaWxsQHNodXRlbW92Lm5hbWU+IHdyb3RlOgoKPiBPbiBXZWQsIE5vdiAxMiwgMjAxNCBhdCAw MzoyMjo0MUFNICswMjAwLCBLaXJpbGwgQS4gU2h1dGVtb3Ygd3JvdGU6Cj4gPiBPbiBUdWUsIE5v diAxMSwgMjAxNCBhdCAwNDo0OToxM1BNIC0wODAwLCBBbmRyZXcgTW9ydG9uIHdyb3RlOgo+ID4g PiBPbiBUdWUsIDExIE5vdiAyMDE0IDE4OjM2OjI4IC0wNjAwIChDU1QpIENocmlzdG9waCBMYW1l dGVyIDxjbEBsaW51eC5jb20+IHdyb3RlOgo+ID4gPiAKPiA+ID4gPiBPbiBUdWUsIDExIE5vdiAy MDE0LCBBbmRyZXcgTW9ydG9uIHdyb3RlOgo+ID4gPiA+IAo+ID4gPiA+ID4gVGhlcmUncyBubyBw b2ludCBpbiBkb2luZwo+ID4gPiA+ID4KPiA+ID4gPiA+IAkjZGVmaW5lIEdGUF9TTEFCX0JVR19N QVNLIChfX0dGUF9ETUEzMnxfX0dGUF9ISUdITUVNfH5fX0dGUF9CSVRTX01BU0spCj4gPiA+ID4g Pgo+ID4gPiA+ID4gYmVjYXVzZSBfX0dGUF9ETUEzMnxfX0dGUF9ISUdITUVNIGFyZSBhbHJlYWR5 IHBhcnQgb2Ygfl9fR0ZQX0JJVFNfTUFTSy4KPiA+ID4gPiAKPiA+ID4gPiA/PyB+X19HRlBfQklU U19NQVNLIG1lYW5zIGJpdHMgMjUgdG8gMzEgYXJlIHNldC4KPiA+ID4gPiAKPiA+ID4gPiBfX0dG UF9ETUEzMiBpcyBiaXQgMiBhbmQgX19HRlBfSElHSE1FTSBpcyBiaXQgMS4KPiA+ID4gCj4gPiA+ IEFoLCB5ZXMsIE9LLgo+ID4gPiAKPiA+ID4gSSBzdXBwb3NlIGl0J3MgcG9zc2libGUgdGhhdCBf X0dGUF9ISUdITUVNIHdhcyBzZXQuCj4gPiA+IAo+ID4gPiBkb19odWdlX3BtZF9hbm9ueW1vdXNf cGFnZQo+ID4gPiAtPnB0ZV9hbGxvY19vbmUKPiA+ID4gICAtPmFsbG9jX3BhZ2VzKF9fdXNlcnB0 ZV9hbGxvY19nZnA9PV9fR0ZQX0hJR0hNRU0pCj4gPiAKPiA+IGRvX2h1Z2VfcG1kX2Fub255bW91 c19wYWdlCj4gPiAgYWxsb2NfaHVnZXBhZ2Vfdm1hCj4gPiAgIGFsbG9jX3BhZ2VzX3ZtYShHRlBf VFJBTlNIVUdFKQo+ID4gCj4gPiBHRlBfVFJBTlNIVUdFIGNvbnRhaW5zIEdGUF9ISUdIVVNFUl9N T1ZBQkxFLCB3aGljaCBoYXMgX19HRlBfSElHSE1FTS4KPiAKPiBMb29rcyBsaWtlIGl0J3MgcmVh c29uYWJsZSB0byBzYW5pdGl6ZSBmbGFncyBpbiBzaHJpbmtfc2xhYigpIGJ5IGRyb3BwaW5nCj4g ZmxhZ3MgaW5jb21wYXRpYmxlIHdpdGggc2xhYiBleHBlY3RhdGlvbi4gTGlrZSB0aGlzOgo+IAo+ IGRpZmYgLS1naXQgYS9tbS92bXNjYW4uYyBiL21tL3Ztc2Nhbi5jCj4gaW5kZXggZGNiNDcwNzRh ZTAzLi5lYjE2NWQyOWM1ZTUgMTAwNjQ0Cj4gLS0tIGEvbW0vdm1zY2FuLmMKPiArKysgYi9tbS92 bXNjYW4uYwo+IEBAIC0zNjksNiArMzY5LDggQEAgdW5zaWduZWQgbG9uZyBzaHJpbmtfc2xhYihz dHJ1Y3Qgc2hyaW5rX2NvbnRyb2wgKnNocmlua2N0bCwKPiAgICAgICAgIGlmIChucl9wYWdlc19z Y2FubmVkID09IDApCj4gICAgICAgICAgICAgICAgIG5yX3BhZ2VzX3NjYW5uZWQgPSBTV0FQX0NM VVNURVJfTUFYOwo+ICAKPiArICAgICAgIHNocmlua2N0bC0+Z2ZwX21hc2sgJj0gfihfX0dGUF9E TUEzMiB8IF9fR0ZQX0hJR0hNRU0pOwo+ICsKPiAgICAgICAgIGlmICghZG93bl9yZWFkX3RyeWxv Y2soJnNocmlua2VyX3J3c2VtKSkgewo+ICAgICAgICAgICAgICAgICAvKgo+ICAgICAgICAgICAg ICAgICAgKiBJZiB3ZSB3b3VsZCByZXR1cm4gMCwgb3VyIGNhbGxlcnMgd291bGQgdW5kZXJzdGFu ZCB0aGF0IHdlCgpXZWxsIG5vLCBiZWNhdXNlIG5vYm9keSBpcyBzdXBwb3NlZCB0byBiZSBwYXNz aW5nIHRoaXMgZ2ZwX21hc2sgYmFjawppbnRvIGEgbmV3IGFsbG9jYXRpb24gYXR0ZW1wdCBhbnl3 YXkuICBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gZG8KCglzaHJpbmtjdGwtPmdmcF9tYXNrIHw9IF9f R0ZQX0lNTUVESUFURUxZX0dPX0JVRzsKCj8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-f181.google.com (mail-ie0-f181.google.com [209.85.223.181]) by kanga.kvack.org (Postfix) with ESMTP id AB04490001D for ; Tue, 11 Nov 2014 20:55:33 -0500 (EST) Received: by mail-ie0-f181.google.com with SMTP id rp18so12237560iec.26 for ; Tue, 11 Nov 2014 17:55:33 -0800 (PST) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org. [140.211.169.12]) by mx.google.com with ESMTPS id s5si20813901icd.17.2014.11.11.17.55.32 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Nov 2014 17:55:32 -0800 (PST) Date: Tue, 11 Nov 2014 17:56:03 -0800 From: Andrew Morton Subject: Re: [Bug 87891] New: kernel BUG at mm/slab.c:2625! Message-Id: <20141111175603.ede86030.akpm@linux-foundation.org> In-Reply-To: <20141112014703.GB17446@node.dhcp.inet.fi> References: <20141111153120.9131c8e1459415afff8645bc@linux-foundation.org> <20141111164913.3616531c21c91499871c46de@linux-foundation.org> <20141112012241.GA17446@node.dhcp.inet.fi> <20141112014703.GB17446@node.dhcp.inet.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: "Kirill A. Shutemov" Cc: Christoph Lameter , Ming Lei , Pekka Enberg , Joonsoo Kim , David Rientjes , Mel Gorman , Johannes Weiner , Pauli Nieminen , Dave Airlie , Tetsuo Handa , bugzilla-daemon@bugzilla.kernel.org, luke-jr+linuxbugs@utopios.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org On Wed, 12 Nov 2014 03:47:03 +0200 "Kirill A. Shutemov" wrote: > On Wed, Nov 12, 2014 at 03:22:41AM +0200, Kirill A. Shutemov wrote: > > On Tue, Nov 11, 2014 at 04:49:13PM -0800, Andrew Morton wrote: > > > On Tue, 11 Nov 2014 18:36:28 -0600 (CST) Christoph Lameter wrote: > > > > > > > On Tue, 11 Nov 2014, Andrew Morton wrote: > > > > > > > > > There's no point in doing > > > > > > > > > > #define GFP_SLAB_BUG_MASK (__GFP_DMA32|__GFP_HIGHMEM|~__GFP_BITS_MASK) > > > > > > > > > > because __GFP_DMA32|__GFP_HIGHMEM are already part of ~__GFP_BITS_MASK. > > > > > > > > ?? ~__GFP_BITS_MASK means bits 25 to 31 are set. > > > > > > > > __GFP_DMA32 is bit 2 and __GFP_HIGHMEM is bit 1. > > > > > > Ah, yes, OK. > > > > > > I suppose it's possible that __GFP_HIGHMEM was set. > > > > > > do_huge_pmd_anonymous_page > > > ->pte_alloc_one > > > ->alloc_pages(__userpte_alloc_gfp==__GFP_HIGHMEM) > > > > do_huge_pmd_anonymous_page > > alloc_hugepage_vma > > alloc_pages_vma(GFP_TRANSHUGE) > > > > GFP_TRANSHUGE contains GFP_HIGHUSER_MOVABLE, which has __GFP_HIGHMEM. > > Looks like it's reasonable to sanitize flags in shrink_slab() by dropping > flags incompatible with slab expectation. Like this: > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index dcb47074ae03..eb165d29c5e5 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -369,6 +369,8 @@ unsigned long shrink_slab(struct shrink_control *shrinkctl, > if (nr_pages_scanned == 0) > nr_pages_scanned = SWAP_CLUSTER_MAX; > > + shrinkctl->gfp_mask &= ~(__GFP_DMA32 | __GFP_HIGHMEM); > + > if (!down_read_trylock(&shrinker_rwsem)) { > /* > * If we would return 0, our callers would understand that we Well no, because nobody is supposed to be passing this gfp_mask back into a new allocation attempt anyway. It would be better to do shrinkctl->gfp_mask |= __GFP_IMMEDIATELY_GO_BUG; ? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org