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 31F37C3DA42 for ; Wed, 10 Jul 2024 21:41:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF5D36B009D; Wed, 10 Jul 2024 17:41:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BA4B76B009E; Wed, 10 Jul 2024 17:41:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A93056B00A0; Wed, 10 Jul 2024 17:41:00 -0400 (EDT) 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 8B7C86B009D for ; Wed, 10 Jul 2024 17:41:00 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id F259C160208 for ; Wed, 10 Jul 2024 21:40:59 +0000 (UTC) X-FDA: 82325163438.16.764D35B Received: from mail-yw1-f182.google.com (mail-yw1-f182.google.com [209.85.128.182]) by imf29.hostedemail.com (Postfix) with ESMTP id 23304120014 for ; Wed, 10 Jul 2024 21:40:57 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=N7ZEHCve; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of surenb@google.com designates 209.85.128.182 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720647622; 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:dkim-signature; bh=5XBOBObJaAEK1M46KNmNvsVNBPngWj8fU0d2YVNpK0Q=; b=tfntB4f/vqIzpN+/Fiw6LtRolq1LJu6DblPCt6nu5K2O+QyvHH3Gy0K6ihCvrrlQE+LIs6 WIScK7tp6dYxDctOoiWdqh0qeCCuaSPZ0+qR+nMFzxr2s0dGgMhj7UF4dgBVfzdgmSG1ng fIiRdHcK6nBblexWY1mUlEl24BlKwLQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720647622; a=rsa-sha256; cv=none; b=ieF/yqEREWUQ0zCsUy41PD7eaR5biF2FpHHpFp/vtKVUo4JrAZ+sm4DsEEmJ96OSDGrhci +J6d+BW98oG+sZz2PFLflDd+MgszjTMw7lAoi2xNNtbONgU5zn1bn35yBvzQkgfTIh8Fac 3KfzUW4Fq/u+807MFxrIhfUqjuYpBU8= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=N7ZEHCve; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of surenb@google.com designates 209.85.128.182 as permitted sender) smtp.mailfrom=surenb@google.com Received: by mail-yw1-f182.google.com with SMTP id 00721157ae682-64b0d45a7aaso2422187b3.0 for ; Wed, 10 Jul 2024 14:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1720647657; x=1721252457; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5XBOBObJaAEK1M46KNmNvsVNBPngWj8fU0d2YVNpK0Q=; b=N7ZEHCveG9xnG12uRRFjIyYE99ttSnKSB9Pn8BNiOigwt4M/BnEMLlHjlhjs+FS3m8 KZQ3eZQlTU27tSF5dFjI3I5YPqfzAOhLevf3kytuqQtZS9aW71Rq21qny1a1cCFkZmr3 HXzebLmeaMBndEsQqzoJuZvcD3PwW5sJUDJsCNiVQn6vvVpZa2z+wn8PYZRlsCk02eu7 lS883C0HhbfM0zsWsCeSp68WAWOFX1lRruLeLr5Kr80AhISL0+v/rmN2Xdu+UUac7nGt HXkW6JdEInWKT1pWq676pRN6kXMcsE79Y2xD7Ed1XIy7Ee15ismn4Y/nLI7rym6Vb/Wi 3t4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720647657; x=1721252457; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5XBOBObJaAEK1M46KNmNvsVNBPngWj8fU0d2YVNpK0Q=; b=qIPhn6UKq3KoyT+11fKb/8FQvFAuby+UooHNQaYo4vLTe9khpnSLVcm6Ri8BbkmmVE GH6o+uK03Hhe+t3q6HnKQmSC4orCTxrGpKQHqQDLIjEqdHh9uieIvDtxmBWizolndTxp YZ6Tn5HZ+sv5olqHJRQ9l+6NP2hPMA2wAJiM1jfxcWLqVfViT8097yG8KMvlOgUNbslg uUL4TW+kLjiQVt1L4hDILA0BJAOvyxSDFotVbs6zPdw8VbSKe8AjeezjWU8vjiW0RlBo eaBKlm63bvZEc5EE8XuLHOdVMd5ebl69fthr734YvAyMmXgollp/gO9Hnmg0KU+uYEPA bbsQ== X-Forwarded-Encrypted: i=1; AJvYcCWrIolaWHCuy9TWxQC6O1B/ixHK47jESIAlQJVGdZATzFI2oFcMZOZLADE5BjaJDCEESs4NOCNUsFP5ByPWRVf5UGI= X-Gm-Message-State: AOJu0YwGcD9okKOgdOs7zEN1XFNiFMUdJ82b6IgK8Twhc6SzHWmHc0IQ Fgv3rOmVjwPqSOPcFAGh37tQzlN8StZLeQYj3pWlwAcHR84j7EN+3UmerrIPio9edePBSPKRuk0 anZLP4eUll6539isBaN5bko7P6R94tNO3qsW5 X-Google-Smtp-Source: AGHT+IE9LwO7snLlHt6fREw7Kb3flbhkA09QJ9tqIVaUo48iiu8//3dVR54mhZCPewECzH/0QpeEaLObv4Du7/1Ag88= X-Received: by 2002:a05:690c:c0b:b0:64a:4728:ef4 with SMTP id 00721157ae682-658f09c2d41mr82527977b3.47.1720647656845; Wed, 10 Jul 2024 14:40:56 -0700 (PDT) MIME-Version: 1.0 References: <20240710025418.394321-1-sxwjean@me.com> <20240710150154.GA1684801@thelio-3990X> In-Reply-To: <20240710150154.GA1684801@thelio-3990X> From: Suren Baghdasaryan Date: Wed, 10 Jul 2024 14:40:45 -0700 Message-ID: Subject: Re: [PATCH] mm/slub: quiet the clang warning with -Wunused-function enabled To: Nathan Chancellor Cc: Matthew Wilcox , sxwjean@me.com, vbabka@suse.cz, cl@linux.co, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com, xiongwei.song@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel test robot , llvm@lists.linux.dev, Nick Desaulniers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 23304120014 X-Stat-Signature: xnm8rajqw9qmtz4i7w7wdtxyi83kitzy X-Rspam-User: X-HE-Tag: 1720647657-553551 X-HE-Meta: U2FsdGVkX18dOUzBDtrrUX8czEoby4GCFvPk5zc4wt3ZR3cfZlOeqcoX4CZQnR3MVUG5hw/TlU7BaYUC4/6cjBF0xO39usQPW6NO9fQHJt15TZeCSPy+QuPMyBZgfTeVH5IE4nRrdhD3d+bEBnERYOEnsraW8IAbe1PoEOsiakRYXK9gnofR6wbNRx4GMlpuwV8Y/sa37XCeUsubP5Dz7u8QtS8tXEZr1ktLhOj0xcg+tkG+FTL75myVcM651f0IlZsyLEJmi1+uwxlDy0Vul8IySm2yLhRJmJ7or06e79LZC4foa3ZEXl0a7lBRQAUFw3rgzcdIKu1hSDAPrTP1266gsHuAyXkii//tL/98Zg9EDiw03VT2iFL96fgltYvzCP/PsLzR/mvhOlaadSMmHvQQaIQ/d6CxJaR/RAhc68oYztmKutK+MzUevgWRE8/GSXm2CzKay6g2S4Jkw4qHFncY8Urbs692zyf5WHXqf/M1b2b0sjEmLFMHIIcvVOdibHs4aLzioHMjqMV9DiObsYvOe67C+ZKe3gY1cSwbjb5uiDD5CH40pUhcU+9L1yE4Bra+RBtCGJXuxWvMZC/SoU+XCqFz1hGsWZzKlNjnid5O4Wm2e4GvJf9TkZJ3jMc1HrhVyg/ABN81d621JXVoPwvJkCi2PQv0nSf5i3FgJAIg/Iu6EEB70iMJLk9pC0SX9CFjrKJXqe8pJuCMef4Cobkbl3ni4vINWSh5uA1fydDOE5fkzo9o5+6QzMBwR0bh4p8YtNU1yBcI0qEp9tjq07QluLD6FTaTt4x5zVTMwpHpnL4NYeobFFpGhhTsp1xn/m3RPMrwK79nSMIpXIoeMuUp4HESH5dVnpxVwMtEQu4XfIgcNxAI0Sxr/FBSXEmXVf6zUgI0JtMHw1ZpMMQ5+mlMp37/YBg1Yufd721vyDv1SSVbF4+ygNie4CXYpontDODmKEgMlK1G9q3PFbS ZRGWNyZy /U4GXZuxc7DWgSH2+J2/RfNVyONiHzN5RT3730oDI8Rpc9aBfFxUi8kFywJkdBzRfyOo9eFMh0SuWzqYUiUOhwVWKcDew4Zj2z0j2AjXaoao59DZzZvXC97BcNSN78xZMyiVEKGzds/2nBHckUyCECvXaBHRbpMVj0kN15VOTz5T8hReBqXeBmyjBbqjqpmwfQXvOC2+QMV7R/g4yJN2F4O6VbVoJ22PPVKAqezrBCsuoyKJh169XAlLQikOANTnENLMG5Pv1lSSD6z4RxzB9hNgRjkvMyYBxGvCl/UmwRs1ADTznyPYUUSg5D3I+oL2gwJRoLTOJDoF8aKiCf8Ehv5NSgCB4R+WkiGUf4mnKSkIkIBKb5gl2BhjJkA== 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 Wed, Jul 10, 2024 at 8:02=E2=80=AFAM Nathan Chancellor wrote: > > On Wed, Jul 10, 2024 at 04:03:33AM +0100, Matthew Wilcox wrote: > > On Wed, Jul 10, 2024 at 10:54:18AM +0800, sxwjean@me.com wrote: > > > From: Xiongwei Song > > > > > > The only user of prepare_slab_obj_exts_hook() is > > > alloc_tagging_slab_alloc_hook(), which can build with > > > CONFIG_MEM_ALLOC_PROFILING enabled. So, the warning was triggerred > > > when disabling CONFIG_MEM_ALLOC_PROFILING. Let's add "__maybe_unused" > > > for prepare_slab_obj_exts_hook(). > > > > Perhaps instead clang can be fixed to match gcc's behaviour? > > Clang only differs from GCC on warning for unused static inline functions= in .c > files, not .h files. The kernel already handles this in > include/linux/compiler_types.h but it disables this workaround for W=3D1 = to catch > unused functions like this as a result of commit 6863f5643dd7 ("kbuild: a= llow > Clang to find unused static inline functions for W=3D1 build"): > > /* > * GCC does not warn about unused static inline functions for -Wunused-fu= nction. > * Suppress the warning in clang as well by using __maybe_unused, but ena= ble it > * for W=3D1 build. This will allow clang to find unused functions. Remov= e the > * __inline_maybe_unused entirely after fixing most of -Wunused-function = warnings. > */ > #ifdef KBUILD_EXTRA_WARN1 > #define __inline_maybe_unused > #else > #define __inline_maybe_unused __maybe_unused > #endif > > So I don't really think there is much for clang to do here and I think ha= ving > the ability to find unused static inline functions in .c files is useful = (you > might disagree, perhaps a revert could still be discussed). I guess > IS_ENABLED() can't be used there, so it seems like either taking this pat= ch, > ignoring the warning, or refactoring the code in some other way are the o= nly > options I see. I think this is the consequence of the recent refactoring I've done in https://lore.kernel.org/all/20240704135941.1145038-1-surenb@google.com/. There should be a cleaner way to fix this. I'll post it later today or tomorrow morning. Thanks, Suren. > > > > Reported-by: kernel test robot > > > Closes: https://lore.kernel.org/oe-kbuild-all/202407050845.zNONqauD-l= kp@intel.com/ > > > Signed-off-by: Xiongwei Song > > > --- > > > mm/slub.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/mm/slub.c b/mm/slub.c > > > index ce39544acf7c..2e26f20759c0 100644 > > > --- a/mm/slub.c > > > +++ b/mm/slub.c > > > @@ -2027,7 +2027,7 @@ static inline bool need_slab_obj_ext(void) > > > return false; > > > } > > > > > > -static inline struct slabobj_ext * > > > +static inline struct slabobj_ext * __maybe_unused > > > prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags, void *= p) > > > { > > > struct slab *slab; > > > @@ -2068,7 +2068,7 @@ static inline bool need_slab_obj_ext(void) > > > return false; > > > } > > > > > > -static inline struct slabobj_ext * > > > +static inline struct slabobj_ext * __maybe_unused > > > prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags, void *= p) > > > { > > > return NULL; > > > -- > > > 2.34.1 > > > > > >