[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Ze7jhCaWwAd3U0di@gmail.com>
Date: Mon, 11 Mar 2024 11:57:08 +0100
From: Ingo Molnar <mingo@...nel.org>
To: linux-kernel@...r.kernel.org
Cc: linux-tip-commits@...r.kernel.org, kernel test robot <lkp@...el.com>,
Waiman Long <longman@...hat.com>, Boqun Feng <boqun.feng@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>, x86@...nel.org
Subject: Re: [tip: locking/core] locking/qspinlock: Fix 'wait_early' set but
not used warning
* tip-bot2 for Waiman Long <tip-bot2@...utronix.de> wrote:
> The following commit has been merged into the locking/core branch of tip:
>
> Commit-ID: ca4bc2e07b716509fd279d2b449bb42f4263a9c8
> Gitweb: https://git.kernel.org/tip/ca4bc2e07b716509fd279d2b449bb42f4263a9c8
> Author: Waiman Long <longman@...hat.com>
> AuthorDate: Thu, 22 Feb 2024 10:05:37 -05:00
> Committer: Ingo Molnar <mingo@...nel.org>
> CommitterDate: Wed, 28 Feb 2024 13:08:37 +01:00
>
> locking/qspinlock: Fix 'wait_early' set but not used warning
>
> When CONFIG_LOCK_EVENT_COUNTS is off, the wait_early variable will be
> set but not used. This is expected. Recent compilers will not generate
> wait_early code in this case.
>
> Add the __maybe_unused attribute to wait_early for suppressing this
> W=1 warning.
>
> Reported-by: kernel test robot <lkp@...el.com>
> Signed-off-by: Waiman Long <longman@...hat.com>
> Signed-off-by: Ingo Molnar <mingo@...nel.org>
> Reviewed-by: Boqun Feng <boqun.feng@...il.com>
> Cc: Linus Torvalds <torvalds@...ux-foundation.org>
> Link: https://lore.kernel.org/r/20240222150540.79981-2-longman@redhat.com
>
> Closes: https://lore.kernel.org/oe-kbuild-all/202312260422.f4pK3f9m-lkp@intel.com/
> ---
> kernel/locking/qspinlock_paravirt.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/locking/qspinlock_paravirt.h b/kernel/locking/qspinlock_paravirt.h
> index 6a0184e..ae2b12f 100644
> --- a/kernel/locking/qspinlock_paravirt.h
> +++ b/kernel/locking/qspinlock_paravirt.h
> @@ -294,8 +294,8 @@ static void pv_wait_node(struct mcs_spinlock *node, struct mcs_spinlock *prev)
> {
> struct pv_node *pn = (struct pv_node *)node;
> struct pv_node *pp = (struct pv_node *)prev;
> + bool __maybe_unused wait_early;
> int loop;
> - bool wait_early;
On a second thought, shouldn't this be solved via lockevent_cond_inc()'s
!CONFIG_LOCK_EVENT_COUNTS stub explicitly marking the variable as used, via
!something like:
#define lockevent_cond_inc(ev, c) do { (void)(c); } while (0)
or so, instead of uglifying the usage site?
Thanks,
Ingo
Powered by blists - more mailing lists