From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E391CECAAA1 for ; Mon, 24 Oct 2022 13:52:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 52EC68E0002; Mon, 24 Oct 2022 09:52:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4DED58E0001; Mon, 24 Oct 2022 09:52:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3A6828E0002; Mon, 24 Oct 2022 09:52:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 2919C8E0001 for ; Mon, 24 Oct 2022 09:52:48 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 60FFB40B07 for ; Mon, 24 Oct 2022 13:52:47 +0000 (UTC) X-FDA: 80055983574.03.F4D382B Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by imf30.hostedemail.com (Postfix) with ESMTP id DD2DC80030 for ; Mon, 24 Oct 2022 13:52:45 +0000 (UTC) Received: by mail-pj1-f50.google.com with SMTP id q9-20020a17090a178900b00212fe7c6bbeso3133903pja.4 for ; Mon, 24 Oct 2022 06:52:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=71eY0kkxWRwBjV2G3scfnzcrcRhO3rXFbeUg0pv3GQg=; b=SbZB0SzKD6Kfk9toYCVYMMukZREinAmvmWVRwReClqYqhZ7XS+/jdZsB5JSJcIOOf6 VCBoighcYhc9+zC4y4yZ/QIDTkcwrlHACa/rpGqjjl3zdn6WKoEijhrimqiVinXLfEwH tB77iv9eLdW+aUM9ZPDSW9pU7aTWQ5oSuoHI+XeVP9/0ZWNwo4aTGn/6P0+E1k4bwOzC L0IIGZzpTrVk2hvDEAlWwuKMloGTX9Rh1GRJuKPXmDB76AiDqYtWsoijQmJgJ4U3P4yJ TR1emGGyyhsf6irfJii9HvPO+Di0grFDve7+eGDi5HSwriz4LeLKOcR/c1+eDoCcZgip M0wQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=71eY0kkxWRwBjV2G3scfnzcrcRhO3rXFbeUg0pv3GQg=; b=GflHMBJo/s2WceINzTUTzww5qkS6drPd8RzmLLWn4zkNd0p1x94YnTpSoiyF8OVmaN OtWrJ5StmrN518t2cEWg287ffiVDsk8dgYvq5rjxlvSNDZypTA+JAMJzzm4Rkav217pU YRDdFQ+qGkY5DypyBvKE1gD3GHfrxAziXtc2WB8ZpYt+FYq8hwHttf/qrZ2Ay5m1FRls M356TfwU+hGXE9nfr85OElb3k/MxdM8aW6KxnSqJfuqI0YlICSpPwwWkDvbFA4Hvqdm8 nSQkFuL9VrvxeIVXe+p2M3twwpYCuaC93j7jvRLXXlDZRnp0WUKfwvEkN5Iy2JPm9s6N Rmdg== X-Gm-Message-State: ACrzQf3DkYObrj3ENaJI9WzilsqbppncPUnufJc5YT2l7kaD4sAOGO+x F8gTvN5ZuBh33bhyrMp+LvM= X-Google-Smtp-Source: AMsMyM4XzOkhn23VCSvDXrXHuE00G3jtZo/xodA4l2djBrYJleMmDynchUo2uqkPLx2yltT5YcXDgQ== X-Received: by 2002:a17:903:1381:b0:186:8bdb:6865 with SMTP id jx1-20020a170903138100b001868bdb6865mr11686619plb.166.1666619564779; Mon, 24 Oct 2022 06:52:44 -0700 (PDT) Received: from hyeyoo ([114.29.91.56]) by smtp.gmail.com with ESMTPSA id p12-20020a17090a748c00b0020aacde1964sm4011403pjk.32.2022.10.24.06.52.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Oct 2022 06:52:43 -0700 (PDT) Date: Mon, 24 Oct 2022 22:52:38 +0900 From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Baoquan He Cc: linux-kernel@vger.kernel.org, Dennis Zhou , Tejun Heo , Christoph Lameter , Andrew Morton , linux-mm@kvack.org, Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , Roman Gushchin Subject: Re: [PATCH 8/8] mm/slub, percpu: correct the calculation of early percpu allocation size Message-ID: References: <20221024081435.204970-1-bhe@redhat.com> <20221024081435.204970-9-bhe@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221024081435.204970-9-bhe@redhat.com> ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666619565; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=71eY0kkxWRwBjV2G3scfnzcrcRhO3rXFbeUg0pv3GQg=; b=vj2vwuYPQQ5UsMHToXWBYzdLRTFd555UKxzO9EUXQVmI/TK07hx7BI8JvURHOKguLgQvzd 8j5jjJES49I+PWd0cQoKbtgdxEjDisox1rLNUXTtscRPqaFrhwW07wkM7GpZ2FF5YMs8+G hObdLoNV8al7Y2UyJZxS/9WSHDv+74g= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=SbZB0SzK; spf=pass (imf30.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666619565; a=rsa-sha256; cv=none; b=AqHsbFxaeDBB1BOiSXyQQQFWtT45aciQmgnz+2IcinGow37bTtdRa0Vqz9LfaXzLaa91sh T/Nizl61P0HzKVdbogN9Zkkeqk5puJLTCES29CKRcu/GvODLTV06bIpnVOyGi3WnYlhWfI i8J19xybWe99kpHgDhA6rfnF5yWRCTU= X-Rspam-User: Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=SbZB0SzK; spf=pass (imf30.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: DD2DC80030 X-Stat-Signature: tax6gtksp7mk1ewp8pfwi7csfyeg59n8 X-HE-Tag: 1666619565-14257 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Oct 24, 2022 at 04:14:35PM +0800, Baoquan He wrote: > SLUB allocator relies on percpu allocator to initialize its ->cpu_slab > during early boot. For that, the dynamic chunk of percpu which serves > the early allocation need be large enough to satisfy the kmalloc > creation. > > However, the current BUILD_BUG_ON() in alloc_kmem_cache_cpus() doesn't > consider the kmalloc array with NR_KMALLOC_TYPES length. Fix that > with correct calculation. > > Signed-off-by: Baoquan He > Cc: Christoph Lameter > Cc: Pekka Enberg > Cc: David Rientjes > Cc: Joonsoo Kim > Cc: Andrew Morton > Cc: Vlastimil Babka > Cc: Roman Gushchin > Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com> > --- > mm/slub.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/slub.c b/mm/slub.c > index 157527d7101b..8ac3bb9a122a 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -4017,7 +4017,8 @@ init_kmem_cache_node(struct kmem_cache_node *n) > static inline int alloc_kmem_cache_cpus(struct kmem_cache *s) > { > BUILD_BUG_ON(PERCPU_DYNAMIC_EARLY_SIZE < > - KMALLOC_SHIFT_HIGH * sizeof(struct kmem_cache_cpu)); > + NR_KMALLOC_TYPES * KMALLOC_SHIFT_HIGH * > + sizeof(struct kmem_cache_cpu)); > > /* > * Must align to double word boundary for the double cmpxchg Looks good to me. Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Thanks! > -- > 2.34.1 > -- Thanks, Hyeonggon