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 63F6CC02183 for ; Thu, 16 Jan 2025 19:18:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EE9096B0085; Thu, 16 Jan 2025 14:17:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E98906B0088; Thu, 16 Jan 2025 14:17:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D87BD6B0089; Thu, 16 Jan 2025 14:17:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id BAC736B0085 for ; Thu, 16 Jan 2025 14:17:59 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 68443811BF for ; Thu, 16 Jan 2025 19:17:59 +0000 (UTC) X-FDA: 83014275078.14.B2687F3 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id 9EF6D40024 for ; Thu, 16 Jan 2025 19:17:57 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf17.hostedemail.com: domain of "SRS0=fJp8=UI=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=fJp8=UI=goodmis.org=rostedt@kernel.org" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737055077; a=rsa-sha256; cv=none; b=qgGbebGqsPQoUpgTAR3GOBX862JlxYHGiXAEll0RsuhgsIcNGdDzKwDfzo+SD/Iao1Xuhn 0AN5S4ePULsvUzS/dpqMttSxT+Ls7Gx72yc9fkvWEGhE+09wFBTcgL2LNF4hdJhcGtpe9u z9Bx26dD2lCy/cddSsc2MoZcG3vunus= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf17.hostedemail.com: domain of "SRS0=fJp8=UI=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=fJp8=UI=goodmis.org=rostedt@kernel.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737055077; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TdRNPTUui7UAz5bQTgO28Tzh0sh59qymrS1cJLMjli8=; b=nCGaGosAcRDqQBbtpiYMAnJHisup2mfxeBFi5QaguSBpUpF63hnNtAsCM96hGHRylPvutz 6ygp8FrD8lDA+t2yfhvhqzOyS8iy1PKioLqYMdPBfeYJmAgpbp6jLz2MfNo8i77m163qlq VjO1Q/w/9nokR6fBa83iD+x3z/2M5s8= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 165765C5583; Thu, 16 Jan 2025 19:17:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42E6BC4CED6; Thu, 16 Jan 2025 19:17:55 +0000 (UTC) Date: Thu, 16 Jan 2025 14:18:00 -0500 From: Steven Rostedt To: Linus Torvalds Cc: LKML , Linux Trace Kernel , linux-mm@kvack.org, linux-perf-users@vger.kernel.org, Masami Hiramatsu , Mathieu Desnoyers , Andrew Morton , Michael Petlan , Veronika Molnarova , Suren Baghdasaryan Subject: Re: [PATCH] tracing: gfp: Fix the GFP enum values shown for user space tracing tools Message-ID: <20250116141800.31d519eb@gandalf.local.home> In-Reply-To: References: <20250116132359.1f20cdec@gandalf.local.home> X-Mailer: Claws Mail 3.20.0git84 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9EF6D40024 X-Stat-Signature: zsyrsafyq6khnh61h4znm44ijpu8yk8p X-Rspam-User: X-HE-Tag: 1737055077-249798 X-HE-Meta: U2FsdGVkX1+F8DoN67kzgs0T2J/rfbVoP9THprowI8l40swBfwGj6W6DAxcZWes3vXraAdVmn6G+qOT6EoQG217yfOjcOgRQEHEb0MKCDu5xK/qps38unRna+Jf0Gtp7tIJ25k/CPlDdMnpeXZXXgOl7+69Z2Gr1b2ndLk2NW148k8yrL+GQOzCuaaR/8rSEUMhRvEf4jEL4ZH2AeoxHd1r6QV7v1zIeJH2DM3EG7l+OdgSZgCLY/Zm5aV21HxKINVAs00a0ztwbC/hDei3GfdSk80dkQzaGz1BO/fmfyXsAHhSLL75pVWvWSN/Dvpx6MdFJfQJ6iKJmZNfRGqQ6kve0uJNoV1H/+q57qtbBQkp7DuL28eDF1fXdEjX1gLeSzT0uTne3L8DrD7bxcZBiCH+ccsXlUJhdDq2F2PrWznFhSCpMZv0w/7HL6x1vmTWwAUiZzNBb6/GBA3MgSisQI8WqFGYdPSkshHj6POLA2ANM2gkpeFi2380fWYITRaox47Xhid5A9QtWKPJKliReiCtFyH7Q2mAM7d5ME0oP3DrvSTJbUG1yNNZFxi+7b0l/3WZ2VZStQ4hgDTsVCOouy8u7VUpIEuyU7k8qc3C5LCjzsMH67yKf0PXZdQNob5ZTV97S/XUAVfca/sIj1nH+eIo5Ol21oP7Xg4G3Zoy8FYMbfJhsHVH2GldsEjJ4jNVDJYjzfX8Kjh6AfWJjTj2OBBJg4oBtcnJFAmUtBvVjgLQ9cJtq3Uxb33SELa9/hgTglvRTN+EFLtweffgs6jSdP+pNaAff5RyH3tcsKL6MxRNV5qYzlEnnCjjqE7O3j+5C502e5Sy87hnh8HidtoOQZJ+0iQgb/WxgTtGL9Svw9fQkDqAVV6CORb9bt5cxJ4f61HZ0SoaqnkcHm8360PLI5M2wKf5FR2QRS+YtpV49nQV1yHSSxJ8C3moW+ruH+IeAPAt+tBbu10zEXLVVNfz Uy3fp4Pp d1auJ/6OUBIIaPquleZIn9ec53507hRRrvY37mzLSj+96ZP6yzJU3FTl27EWNmbtLdszjg25ATV8pBeGMnKqGLsVsJ2DhREh5okqS8Dbl523CZLRzcfyxS4F48bWio233YecwQhRJl/9a/TmvfsIxU9VTRBTjsPLV2ttMBwppY7a2XY1xMCGbWT63WvLjkt5Mby1gyaeHnetHrZI9sZue9ER0yOTzSu0S+q1iuIkCWXu6YHKC7C2pHFGm6SLZQ7fCek54enjNKch0mZYKuUKwFMtwTdl+WYKq+SQQ2vlwlg/74VsrUhz7aBc9u42f2zMwrZ7rK26IFZX4qoMAwEs1o6xWEPJPuFDXw1Rt+/2r21sT7BnjS/U1mtHXvA== 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 Thu, 16 Jan 2025 11:00:20 -0800 Linus Torvalds wrote: > On Thu, 16 Jan 2025 at 10:23, Steven Rostedt wrote: > > > > --- a/include/linux/gfp_types.h > > +++ b/include/linux/gfp_types.h > > No - please do these somewhere else. > > This header is included by *everything*. > > Put it in some tracing header that isn't. > But they are only defines, they are not created until used. Are you worried that it will slow down the compile? I wanted this to stay close to where they are crated so they can keep in sync, and not break when something new is added. Another way is to have something like: diff --git a/include/linux/gfp_types.h b/include/linux/gfp_types.h index 4591a3e1711d..65c61c7b9f22 100644 --- a/include/linux/gfp_types.h +++ b/include/linux/gfp_types.h @@ -23,41 +23,66 @@ typedef unsigned int __bitwise gfp_t; * include/trace/events/mmflags.h and tools/perf/builtin-kmem.c */ -enum { - ___GFP_DMA_BIT, - ___GFP_HIGHMEM_BIT, - ___GFP_DMA32_BIT, - ___GFP_MOVABLE_BIT, - ___GFP_RECLAIMABLE_BIT, - ___GFP_HIGH_BIT, - ___GFP_IO_BIT, - ___GFP_FS_BIT, - ___GFP_ZERO_BIT, - ___GFP_UNUSED_BIT, /* 0x200u unused */ - ___GFP_DIRECT_RECLAIM_BIT, - ___GFP_KSWAPD_RECLAIM_BIT, - ___GFP_WRITE_BIT, - ___GFP_NOWARN_BIT, - ___GFP_RETRY_MAYFAIL_BIT, - ___GFP_NOFAIL_BIT, - ___GFP_NORETRY_BIT, - ___GFP_MEMALLOC_BIT, - ___GFP_COMP_BIT, - ___GFP_NOMEMALLOC_BIT, - ___GFP_HARDWALL_BIT, - ___GFP_THISNODE_BIT, - ___GFP_ACCOUNT_BIT, - ___GFP_ZEROTAGS_BIT, +#define GFP_BITS_GENERAL \ + EM(DMA) \ + EM(HIGHMEM) \ + EM(DMA32) \ + EM(MOVABLE) \ + EM(RECLAIMABLE) \ + EM(HIGH) \ + EM(IO) \ + EM(FS) \ + EM(ZERO) \ + EM(UNUSED_BIT) \ + EM(DIRECT_RECLAIM) \ + EM(KSWAPD_RECLAIM) \ + EM(WRITE) \ + EM(NOWARN) \ + EM(RETRY_MAYFAIL) \ + EM(NOFAIL) \ + EM(NORETRY) \ + EM(MEMALLOC) \ + EM(COMP) \ + EM(NOMEMALLOC) \ + EM(HARDWALL) \ + EM(THISNODE) \ + EM(ACCOUNT) \ + EM(ZEROTAGS) + #ifdef CONFIG_KASAN_HW_TAGS - ___GFP_SKIP_ZERO_BIT, - ___GFP_SKIP_KASAN_BIT, +# define GFP_BITS_KASAN \ + EM(SKIP_ZERO) \ + EM(SKIP_KASAN) +#else +# define GFP_BITS_KASAN #endif + #ifdef CONFIG_LOCKDEP - ___GFP_NOLOCKDEP_BIT, +# define GFP_BITS_LOCKDEP \ + EM(NOLOCKDEP) +#else +# define GFP_BITS_LOCKDEP #endif + #ifdef CONFIG_SLAB_OBJ_EXT - ___GFP_NO_OBJ_EXT_BIT, +# define GFP_BITS_SLAB \ + EM(NO_OBJ_EXT) +#else +# define GFP_BITS_SLAB #endif + +# define GFP_BITS \ + GFP_BITS_GENERAL \ + GFP_BITS_KASAN \ + GFP_BITS_LOCKDEP \ + GFP_BITS_SLAB + + +#undef EM +#define EM(a) ___GFP_##a##_BIT, + +enum { + GFP_BITS ___GFP_LAST_BIT }; Then I could just use the GFP_BITS and redefine the EM() to add the TRACE_DEFINE_ENUM() around them. Or something similar. But I didn't think you would go for that. -- Steve