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 3127BC48BEB for ; Wed, 21 Feb 2024 18:34:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A29436B0085; Wed, 21 Feb 2024 13:34:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9B2876B0087; Wed, 21 Feb 2024 13:34:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 82C246B0088; Wed, 21 Feb 2024 13:34:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 6C0696B0085 for ; Wed, 21 Feb 2024 13:34:16 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3A637A0E97 for ; Wed, 21 Feb 2024 18:34:16 +0000 (UTC) X-FDA: 81816660912.01.F3175EA Received: from out-171.mta0.migadu.com (out-171.mta0.migadu.com [91.218.175.171]) by imf28.hostedemail.com (Postfix) with ESMTP id A9294C0005 for ; Wed, 21 Feb 2024 18:34:13 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Z+qxW5XT; spf=pass (imf28.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.171 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708540453; 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=5ZfYq+o4HUAg6zk4DYlNdaruLQWY+JIsadSfBudqmUQ=; b=Px3w1yZ1FLnaqn9VdPY/ZHshIypfvX+/G45j+0XlpOZHhSunjf1+K+lMMsqKL0YWqAUe0y xfWDhyDZwHExiZ2+NEYC+gVG4XYUsnDF8Bucp3kUD4dWlW/DdL5E65iHto9oGprE0TbM7H f2gecaOCbJ/f256331lp2wjIReGOtJw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708540453; a=rsa-sha256; cv=none; b=gjTHCyCD/Ftz7QCB54DplxnpjUz2NluwoCHQEjcWdxYLQeaz8IBz8On/AGD3o1gQTI0dLk MvzIy43CxVrfVZ/7mRNTZcUUJ8eu0Ms9jzpclJwOErZLEn+/e6TgzUXS/TiTJjcYtqg1B7 oXu8occhG+StML5C3GQfKJp6iWDdtmo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Z+qxW5XT; spf=pass (imf28.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.171 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Wed, 21 Feb 2024 10:33:48 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1708540450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5ZfYq+o4HUAg6zk4DYlNdaruLQWY+JIsadSfBudqmUQ=; b=Z+qxW5XTS5ZBzmp50/Rw0CQto8fpUGAvw1L9hMrCBlgRWfmWCZL2QMyMRJBhhvUXyZrCZQ 7I1L3xEY0CBBjHvs/Nkvq6QoC4K4YDSewb5cbAQFUxNPOxqyAUBKyLOz9LQ0CPf5K9diqz sLS+cybCN1xIPho6etnzuEUulDq//M0= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Roman Gushchin To: Vlastimil Babka Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Zheng Yejian , Xiongwei Song , Chengming Zhou , linux-mm@kvack.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com Subject: Re: [PATCH 2/3] mm, slab: use an enum to define SLAB_ cache creation flags Message-ID: References: <20240220-slab-cleanup-flags-v1-0-e657e373944a@suse.cz> <20240220-slab-cleanup-flags-v1-2-e657e373944a@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240220-slab-cleanup-flags-v1-2-e657e373944a@suse.cz> X-Migadu-Flow: FLOW_OUT X-Stat-Signature: 3hkjhuuefdh3bkmwzaapjq7dscrpenye X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: A9294C0005 X-Rspam-User: X-HE-Tag: 1708540453-710456 X-HE-Meta: U2FsdGVkX18g3s4nimRWBmV9O/zTXGO56DL7DViH1r28buqTPU2HTT7k/3/R8Nvc2p9+RdpwncOIrK5QXS4q9Ir9fHBd5oIyPMoANxMr9dCfsD7M2k5u6tRiBQZ9myq3b/xm1F7lMMLiTQW3QJP/+EsqomeEKrtN2x+LejW3SCa7K+LqwZmmjRQ5lXZqrcm7dOM0HnRhe5crEqQlvc9RWWYoH0kycryKtiut2fwG++aNaBCI8HOCE9qTlYBTkLwn5JMmjLnJ+xSKQ7dYrGE4nawq0j/Y+/pP3ypkDDqlNS6h/Vmpi1ugeTRIHukU1Fad78Ubb4adodB68iRYh8Hytif1Iz8k+decAc2ga1WFwgwAEXUNExu4LuB8zNQo5z7I/mXtBWsB2gMj8SiXP7R9j8EOhOU2bbbqRfOPcNQ/XGw45cYZRoyD3kvL68Af/yOY+o3RxeW+xMK5kXq5uWa0WHFOo/cgAug+Ddk8kDsewbFW90Ou6tosvQ/Xgc2JMCu4MloLfhUUC5SHJBqVZlS93kEhR5YHLnOn73lwzrrOkVZReSEc2EOU/NZKZKLVZ4EnxrY1ALHJL3ZHAvpW25x5l7uRn1vzvbWvSKej1XfszYzVAsvXl6Eij18lVbDCanV0mGcL2E8nkQMF0hIjOIPgdj8equFUPZvtzYX/+/Ot66ZAKTYTueUXPurbF5r19KNf1vZqfW0QmoB6z0sAnrtDxyIsDXNDxJ7WdUlbvu9IX+g3GpR6F3Rtd3Ck52Xl7tvN/KCJH5Y6bjhoBFKYaKHwoQq6SZc1IupBm5otGTbbSjDVR+ZddGQy+C6G0xSzbykWmBGq/egVmqZEZKNwgbTpnkEfo2RabszwiuzHqtB0ZOjA+G5S+iFir+vy6FGU4eddvVymDXOvQB0ywdJmouqCHnBmM7+M3S8tM6FVz4SB6RB7SCbBKB5U1pOuKkGYqZfYMezCETAKkymgUjxU5w+ 3+A== 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: List-Subscribe: List-Unsubscribe: On Tue, Feb 20, 2024 at 05:58:26PM +0100, Vlastimil Babka wrote: > The values of SLAB_ cache creation flagsare defined by hand, which is > tedious and error-prone. Use an enum to assign the bit number and a > __SF_BIT() macro to #define the final flags. > > This renumbers the flag values, which is OK as they are only used > internally. > > Signed-off-by: Vlastimil Babka > --- > include/linux/slab.h | 81 ++++++++++++++++++++++++++++++++++++++-------------- > mm/slub.c | 6 ++-- > 2 files changed, 63 insertions(+), 24 deletions(-) > > diff --git a/include/linux/slab.h b/include/linux/slab.h > index 6252f44115c2..f893a132dd5a 100644 > --- a/include/linux/slab.h > +++ b/include/linux/slab.h > @@ -21,29 +21,68 @@ > #include > #include > > +enum _slab_flag_bits { > + _SLAB_CONSISTENCY_CHECKS, > + _SLAB_RED_ZONE, > + _SLAB_POISON, > + _SLAB_KMALLOC, > + _SLAB_HWCACHE_ALIGN, > + _SLAB_CACHE_DMA, > + _SLAB_CACHE_DMA32, > + _SLAB_STORE_USER, > + _SLAB_PANIC, > + _SLAB_TYPESAFE_BY_RCU, > + _SLAB_TRACE, > +#ifdef CONFIG_DEBUG_OBJECTS > + _SLAB_DEBUG_OBJECTS, > +#endif > + _SLAB_NOLEAKTRACE, > + _SLAB_NO_MERGE, > +#ifdef CONFIG_FAILSLAB > + _SLAB_FAILSLAB, > +#endif > +#ifdef CONFIG_MEMCG_KMEM > + _SLAB_ACCOUNT, > +#endif > +#ifdef CONFIG_KASAN_GENERIC > + _SLAB_KASAN, > +#endif > + _SLAB_NO_USER_FLAGS, > +#ifdef CONFIG_KFENCE > + _SLAB_SKIP_KFENCE, > +#endif > +#ifndef CONFIG_SLUB_TINY > + _SLAB_RECLAIM_ACCOUNT, > +#endif > + _SLAB_OBJECT_POISON, > + _SLAB_CMPXCHG_DOUBLE, > + _SLAB_FLAGS_LAST_BIT > +}; > + > +#define __SF_BIT(nr) ((slab_flags_t __force)(1U << (nr))) I'd rename it to (__)SLAB_FLAG_BIT(), as SF is a bit cryptic, but not a strong preference. Otherwise looks really good to me, nice cleanup. Reviewed-by: Roman Gushchin Thanks!