Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756007AbbKCXda (ORCPT ); Tue, 3 Nov 2015 18:33:30 -0500 Received: from resqmta-ch2-11v.sys.comcast.net ([69.252.207.43]:54638 "EHLO resqmta-ch2-11v.sys.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751770AbbKCXd2 (ORCPT ); Tue, 3 Nov 2015 18:33:28 -0500 Date: Tue, 3 Nov 2015 17:33:25 -0600 (CST) From: Christoph Lameter X-X-Sender: cl@east.gentwo.org To: Catalin Marinas cc: Geert Uytterhoeven , Robert Richter , Linux-sh list , Will Deacon , "linux-kernel@vger.kernel.org" , Robert Richter , Tirumalesh Chalamarla , "linux-arm-kernel@lists.infradead.org" , Joonsoo Kim Subject: Re: [PATCH] arm64: Increase the max granular size In-Reply-To: <20151103185050.GJ7637@e104818-lin.cambridge.arm.com> Message-ID: References: <1442944788-17254-1-git-send-email-rric@kernel.org> <20151028190948.GJ8899@e104818-lin.cambridge.arm.com> <20151103120504.GF7637@e104818-lin.cambridge.arm.com> <20151103143858.GI7637@e104818-lin.cambridge.arm.com> <20151103185050.GJ7637@e104818-lin.cambridge.arm.com> Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1476 Lines: 33 On Tue, 3 Nov 2015, Catalin Marinas wrote: > (cc'ing Jonsoo and Christoph; summary: slab failure with L1_CACHE_BYTES > of 128 and sizeof(kmem_cache_node) of 152) Hmmm... Yes that would mean use the 196 sized kmalloc array which is not a power of two slab. But the code looks fine to me. > If I revert commit 8fc9cf420b36 ("slab: make more slab management > structure off the slab") it works but I still need to figure out how > slab indices are calculated. The size_index[] array is overridden so > that 0..15 are 7 and 16..23 are 8. But the kmalloc_caches[7] has never > been populated, hence the BUG_ON. Another option may be to change > kmalloc_size and kmalloc_index to cope with KMALLOC_MIN_SIZE of 128. > > I'll do some more investigation tomorrow. The commit allows off slab management for PAGE_SIZE >> 5 that is 128. After that commit kmem_cache_create would try to allocate an off slab management structure which is not available during early boot. But the slab_early_init is set which should prevent the use of an off slab management infrastructure in kmem_cache_create(). However, the failure in line 2283 shows that the OFF SLAB flag was mistakenly set anyways!!!! Something must havee cleared slab_early_init? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/