From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with SMTP id 8E7786B01AC for ; Fri, 18 Jun 2010 14:06:32 -0400 (EDT) Date: Fri, 18 Jun 2010 13:03:14 -0500 (CDT) From: Christoph Lameter Subject: Re: [PATCH 1/2] percpu: make @dyn_size always mean min dyn_size in first chunk init functions In-Reply-To: <4C1BAF51.8020702@kernel.org> Message-ID: References: <4C189119.5050801@kernel.org> <4C190748.7030400@kernel.org> <4C19E19D.2020802@kernel.org> <4C1BA59C.6000309@kernel.org> <4C1BAF51.8020702@kernel.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Tejun Heo Cc: Pekka Enberg , David Rientjes , linux-mm@kvack.org List-ID: On Fri, 18 Jun 2010, Tejun Heo wrote: > Hello, > > On 06/18/2010 07:31 PM, Christoph Lameter wrote: > > We need SLUB_PAGE_SHIFT * sizeof(kmem_cache_cpu). So it would be > > > > BUILD_BUG_ON(PERCPU_DYNAMIC_EARLY_SIZE < SLUB_PAGE_SHIFT * sizeof(struct > > kmem_cache_cpu))? > > Yeah, something like that but I would add some buffer there for > alignment and whatnot. Only the percpu allocator would know the waste for alignment and "whatnot". What would you like me to add to the above formula to make it safe? > > What is the role of SLOTS? > > It's allocation map. Each consecutive allocs consume one if alignment > doesn't require padding but two if it does. ie. It limits how many > items one can allocate. > > > Each kmem_cache_cpu structure is a separate percpu allocation. > > If it's a single item. Nothing to worry about. ok so BUILD_BUG_ON(SLUB_PAGE_SHIFT * > SLOTS); I dont know what fuzz factor would be needed. Maybe its best to have a macro provided by percpu? VERIFY_EARLY_ALLOCS(,) The macro would generate the proper BUILD_BUG_ON? -- 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