All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Waiman Long <longman@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>, Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/5] locking/lockdep: Eliminate redundant irqs check in __lock_acquire()
Date: Tue, 2 Oct 2018 11:06:02 +0200	[thread overview]
Message-ID: <20181002090602.GB116695@gmail.com> (raw)
In-Reply-To: <1538157201-29173-3-git-send-email-longman@redhat.com>


* Waiman Long <longman@redhat.com> wrote:

> The static __lock_acquire() function has only two callers:
> 
>  1) lock_acquire()
>  2) reacquire_held_locks()
> 
> In lock_acquire(), raw_local_irq_save() is called before hand. So
> irqs must have been disabled. So the check

s/before hand/
 /beforehand

s/irqs
 /IRQs

> 
> 	DEBUG_LOCKS_WARN_ON(!irqs_disabled())
> 
> is kind of redundant in thise case. So move the above check
> to reacquire_held_locks() to eliminate redundant code in the
> lock_acquire path.

s/thise
 /this

s/lock_acquire path
 /lock_acquire() path
 
> Signed-off-by: Waiman Long <longman@redhat.com>
> ---
>  kernel/locking/lockdep.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> index 8f9de7c..add0468 100644
> --- a/kernel/locking/lockdep.c
> +++ b/kernel/locking/lockdep.c
> @@ -3192,6 +3192,10 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name,
>  /*
>   * This gets called for every mutex_lock*()/spin_lock*() operation.
>   * We maintain the dependency maps and validate the locking attempt:
> + *
> + * The callers must make sure that IRQs are disabled before calling it.
> + * otherwise we could get an interrupt which would want to take locks,
> + * which would end up in lockdep again.

Spelling nit: a comma after the first line, like it was in the original version:

> -	/*
> -	 * Lockdep should run with IRQs disabled, otherwise we could
> -	 * get an interrupt which would want to take locks, which would
> -	 * end up in lockdep and have you got a head-ache already?
> -	 */

Thanks,

	Ingo

  reply	other threads:[~2018-10-02  9:06 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-28 17:53 [PATCH 0/5] locking/lockdep: Improve lockdep performance Waiman Long
2018-09-28 17:53 ` [PATCH 1/5] locking/lockdep: Remove add_chain_cache_classes() Waiman Long
2018-09-28 17:53 ` [PATCH 2/5] locking/lockdep: Eliminate redundant irqs check in __lock_acquire() Waiman Long
2018-10-02  9:06   ` Ingo Molnar [this message]
2018-09-28 17:53 ` [PATCH 3/5] locking/lockdep: Add a faster path in __lock_release() Waiman Long
2018-10-02  9:03   ` Ingo Molnar
2018-09-28 17:53 ` [PATCH 4/5] locking/lockdep: Make class->ops a percpu counter Waiman Long
2018-09-28 20:25   ` kbuild test robot
2018-09-28 20:31     ` Waiman Long
2018-09-28 20:42   ` kbuild test robot
2018-10-02  9:39   ` Peter Zijlstra
2018-10-02  9:55     ` Ingo Molnar
2018-10-02 14:10       ` Waiman Long
2018-10-02 14:28         ` Peter Zijlstra
2018-10-02 18:53           ` Ingo Molnar
2018-09-28 17:53 ` [PATCH 5/5] locking/lockdep: Call lock_release after releasing the lock Waiman Long
2018-10-02  9:08   ` Ingo Molnar
2018-10-02  9:06 ` [PATCH 0/5] locking/lockdep: Improve lockdep performance Ingo Molnar
2018-10-02 13:57   ` Waiman Long

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=20181002090602.GB116695@gmail.com \
    --to=mingo@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=longman@redhat.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.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.