All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: neilb@suse.de, peterz@infradead.org, mingo@redhat.com,
	will@kernel.org, longman@redhat.com, boqun.feng@gmail.com,
	tglx@linutronix.de, bigeasy@linutronix.de
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
	linux-kernel@vger.kernel.org
Subject: [PATCH 11/17] s390: Add airq_iv_lock
Date: Fri,  9 Apr 2021 03:51:25 +0100	[thread overview]
Message-ID: <20210409025131.4114078-12-willy@infradead.org> (raw)
In-Reply-To: <20210409025131.4114078-1-willy@infradead.org>

Allow lockdep to track the airq bit spin locks.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 arch/s390/include/asm/airq.h | 5 +++--
 drivers/s390/cio/airq.c      | 3 +++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/s390/include/asm/airq.h b/arch/s390/include/asm/airq.h
index 01936fdfaddb..d281340de14a 100644
--- a/arch/s390/include/asm/airq.h
+++ b/arch/s390/include/asm/airq.h
@@ -26,6 +26,7 @@ struct airq_struct {
 
 int register_adapter_interrupt(struct airq_struct *airq);
 void unregister_adapter_interrupt(struct airq_struct *airq);
+extern struct iv_lock airq_iv_lock;
 
 /* Adapter interrupt bit vector */
 struct airq_iv {
@@ -72,13 +73,13 @@ static inline unsigned long airq_iv_end(struct airq_iv *iv)
 static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit)
 {
 	const unsigned long be_to_le = BITS_PER_LONG - 1;
-	bit_spin_lock(bit ^ be_to_le, iv->bitlock);
+	bit_spin_lock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
 }
 
 static inline void airq_iv_unlock(struct airq_iv *iv, unsigned long bit)
 {
 	const unsigned long be_to_le = BITS_PER_LONG - 1;
-	bit_spin_unlock(bit ^ be_to_le, iv->bitlock);
+	bit_spin_unlock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
 }
 
 static inline void airq_iv_set_data(struct airq_iv *iv, unsigned long bit,
diff --git a/drivers/s390/cio/airq.c b/drivers/s390/cio/airq.c
index cb466ed7eb5e..6e850661957c 100644
--- a/drivers/s390/cio/airq.c
+++ b/drivers/s390/cio/airq.c
@@ -31,6 +31,9 @@ static struct hlist_head airq_lists[MAX_ISC+1];
 
 static struct dma_pool *airq_iv_cache;
 
+DEFINE_SPLIT_LOCK(airq_iv_lock);
+EXPORT_SYMBOL(airq_iv_lock);
+
 /**
  * register_adapter_interrupt() - register adapter interrupt handler
  * @airq: pointer to adapter interrupt descriptor
-- 
2.30.2


  parent reply	other threads:[~2021-04-09  2:59 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-09  2:51 [PATCH 00/17] Provide lockdep tracking for bit spin locks Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 01/17] x86: Rename split_lock_init to sld_init Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 02/17] locking: Add split_lock Matthew Wilcox (Oracle)
2021-04-12 14:29   ` Thomas Gleixner
2021-04-12 14:45     ` Matthew Wilcox
2021-04-12 15:01       ` Thomas Gleixner
2021-05-11  7:46       ` Peter Zijlstra
2021-04-09  2:51 ` [PATCH 03/17] bit_spinlock: Prepare for split_locks Matthew Wilcox (Oracle)
2021-04-09 14:32   ` Theodore Ts'o
2021-04-09 14:35     ` Matthew Wilcox
2021-04-09 14:55       ` Theodore Ts'o
2021-04-09  2:51 ` [PATCH 04/17] hlist_bl: " Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 05/17] dm-snap: Add dm_exceptional_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 06/17] dcache: Add d_hash_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 07/17] fscache: Add cookie_hash_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 08/17] gfs2: Add qd_hash_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 09/17] mbcache: Add mb_cache_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 10/17] hlist_bl: Make the split_lock parameter mandatory Matthew Wilcox (Oracle)
2021-04-09  2:51 ` Matthew Wilcox (Oracle) [this message]
2021-04-09  6:18   ` [PATCH 11/17] s390: Add airq_iv_lock kernel test robot
2021-04-09  6:18     ` kernel test robot
2021-04-09 13:20     ` Matthew Wilcox
2021-04-09 13:20       ` Matthew Wilcox
2021-04-09  2:51 ` [PATCH 12/17] zram: Add zram_table_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 13/17] jbd2: Add jbd2_jh_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 14/17] slub: Add slab_page_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 15/17] zsmalloc: Add zs_pin_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 16/17] rhashtable: Convert to split_lock Matthew Wilcox (Oracle)
2021-04-09  2:51 ` [PATCH 17/17] bit_spinlock: Track bit spin locks with lockdep Matthew Wilcox (Oracle)
2021-04-09  6:37   ` kernel test robot
2021-04-09  6:37     ` kernel test robot

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=20210409025131.4114078-12-willy@infradead.org \
    --to=willy@infradead.org \
    --cc=bigeasy@linutronix.de \
    --cc=boqun.feng@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=longman@redhat.com \
    --cc=mingo@redhat.com \
    --cc=neilb@suse.de \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    /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.