All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.ibm.com>
To: john.hubbard@gmail.com
Cc: LKML <linux-kernel@vger.kernel.org>,
	John Hubbard <jhubbard@nvidia.com>,
	Frederic Weisbecker <frederic@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will.deacon@arm.com>
Subject: Re: [PATCH 1/1] lockdep: fix warning: print_lock_trace defined but not used
Date: Sun, 9 Jun 2019 06:51:15 -0700	[thread overview]
Message-ID: <20190609135114.GX28207@linux.ibm.com> (raw)
In-Reply-To: <20190521070808.3536-2-jhubbard@nvidia.com>

On Tue, May 21, 2019 at 12:08:08AM -0700, john.hubbard@gmail.com wrote:
> From: John Hubbard <jhubbard@nvidia.com>
> 
> Commit 0d2cc3b34532 ("locking/lockdep: Move valid_state() inside
> CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING") moved the only usage of
> print_lock_trace() that was originally outside of the CONFIG_PROVE_LOCKING
> case. It moved that usage into a different case: CONFIG_PROVE_LOCKING &&
> CONFIG_TRACE_IRQFLAGS. That leaves things not symmetrical, and as a result,
> the following warning fires on my build, when I have
> 
> !CONFIG_TRACE_IRQFLAGS && !CONFIG_PROVE_LOCKING
> 
> set:
> 
> kernel/locking/lockdep.c:2821:13: warning: ‘print_lock_trace’ defined
>     but not used [-Wunused-function]
> 
> Fix this by only defining print_lock_trace() in cases in which is it
> called.
> 
> Fixes: 0d2cc3b34532 ("locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING")
> Cc: Frederic Weisbecker <frederic@kernel.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Will Deacon <will.deacon@arm.com>
> Signed-off-by: John Hubbard <jhubbard@nvidia.com>
> ---
>  kernel/locking/lockdep.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> index d06190fa5082..3065dc36c27a 100644
> --- a/kernel/locking/lockdep.c
> +++ b/kernel/locking/lockdep.c
> @@ -2817,11 +2817,14 @@ static inline int validate_chain(struct task_struct *curr,
>  	return 1;
>  }
> 
> +#if defined(CONFIG_TRACE_IRQFLAGS)
>  static void print_lock_trace(struct lock_trace *trace, unsigned int spaces)

This works, but another approach is to put "__maybe_unused" in the
above declaration, which avoids the need to have "#if" in a .c file.
But this file already has quite a few #if and #ifdef commands, so maybe
it is OK here.

Also, "#ifdef CONFIG_TRACE_IRQFLAGS" is a bit more conventional than
the above, should the "__maybe_unused" be undesirable.

Yet another approach is to move this function to include/linux/lockdep.h,
where #ifdef is considered less objectionable.

But I must defer to the maintainers.

							Thanx, Paul

>  {
>  }
>  #endif
> 
> +#endif
> +
>  /*
>   * We are building curr_chain_key incrementally, so double-check
>   * it from scratch, to make sure that it's done correctly:
> -- 
> 2.21.0
> 


  reply	other threads:[~2019-06-09 13:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-21  7:08 [PATCH 0/1] lockdep: fix warning: print_lock_trace defined but not used john.hubbard
2019-05-21  7:08 ` [PATCH 1/1] " john.hubbard
2019-06-09 13:51   ` Paul E. McKenney [this message]
2019-06-09 23:38     ` John Hubbard
2019-06-10  0:09     ` [PATCH v2] " john.hubbard
2019-06-18 16:00       ` Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190609135114.GX28207@linux.ibm.com \
    --to=paulmck@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=frederic@kernel.org \
    --cc=jhubbard@nvidia.com \
    --cc=john.hubbard@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.