Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 2/3] infiniband: hw: qib: qib_verbs: Use built-in RCU list checking
@ 2020-01-14 16:25 madhuparnabhowmik04
  0 siblings, 0 replies; 3+ messages in thread
From: madhuparnabhowmik04 @ 2020-01-14 16:25 UTC (permalink / raw)
  To: mike.marciniszyn, dennis.dalessandro, jgg, paulmck
  Cc: joel, frextrite, linux-kernel-mentees, rcu, linux-rdma,
	linux-kernel, Madhuparna Bhowmik

From: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>

Use built-in RCU and lock checking for list_for_each_entry_rcu
by passing cond argument to it.

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>
---
 drivers/infiniband/hw/qib/qib_verbs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/qib/qib_verbs.c b/drivers/infiniband/hw/qib/qib_verbs.c
index 33778d451b82..df93fdc8a2fd 100644
--- a/drivers/infiniband/hw/qib/qib_verbs.c
+++ b/drivers/infiniband/hw/qib/qib_verbs.c
@@ -329,7 +329,7 @@ void qib_ib_rcv(struct qib_ctxtdata *rcd, void *rhdr, void *data, u32 tlen)
 		if (mcast == NULL)
 			goto drop;
 		this_cpu_inc(ibp->pmastats->n_multicast_rcv);
-		list_for_each_entry_rcu(p, &mcast->qp_list, list)
+		list_for_each_entry_rcu(p, &mcast->qp_list, list, lockdep_is_held(&(ibp->rvp.lock)))
 			qib_qp_rcv(rcd, hdr, 1, data, tlen, p->qp);
 		/*
 		 * Notify rvt_multicast_detach() if it is waiting for us
-- 
2.17.1


^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH 2/3] infiniband: hw: qib: qib_verbs: Use built-in RCU list checking
@ 2020-01-07 19:30 madhuparnabhowmik04
  0 siblings, 0 replies; 3+ messages in thread
From: madhuparnabhowmik04 @ 2020-01-07 19:30 UTC (permalink / raw)
  To: dennis.dalessandro, mike.marciniszyn, dledford, paulmck
  Cc: rcu, joel, frextrite, linux-kernel-mentees, linux-rdma,
	linux-kernel, Madhuparna Bhowmik

From: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>

Use built-in RCU and lock checking for list_for_each_entry_rcu
by passing cond argument to it.

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>
---
 drivers/infiniband/hw/qib/qib_verbs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/qib/qib_verbs.c b/drivers/infiniband/hw/qib/qib_verbs.c
index 33778d451b82..845ba888734e 100644
--- a/drivers/infiniband/hw/qib/qib_verbs.c
+++ b/drivers/infiniband/hw/qib/qib_verbs.c
@@ -329,7 +329,8 @@ void qib_ib_rcv(struct qib_ctxtdata *rcd, void *rhdr, void *data, u32 tlen)
 		if (mcast == NULL)
 			goto drop;
 		this_cpu_inc(ibp->pmastats->n_multicast_rcv);
-		list_for_each_entry_rcu(p, &mcast->qp_list, list)
+		list_for_each_entry_rcu(p, &mcast->qp_list, list,
+					lock_is_held(&(ibp->rvp.lock).dep_map))
 			qib_qp_rcv(rcd, hdr, 1, data, tlen, p->qp);
 		/*
 		 * Notify rvt_multicast_detach() if it is waiting for us
-- 
2.17.1


^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH 1/3] infiniband: hw: hfi1: verbs.c: Use built-in RCU list checking
@ 2020-01-07 17:35 " madhuparnabhowmik04
  2020-01-07 17:35 ` [PATCH 2/3] infiniband: hw: qib: qib_verbs: " madhuparnabhowmik04
  0 siblings, 1 reply; 3+ messages in thread
From: madhuparnabhowmik04 @ 2020-01-07 17:35 UTC (permalink / raw)
  To: dennis.dalessandro, mike.marciniszyn, dledford, paulmck
  Cc: rcu, joel, frextrite, linux-kernel-mentees, linux-rdma,
	linux-kernel, Madhuparna Bhowmik

From: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>

list_for_each_entry_rcu has built-in RCU and lock checking.
Pass cond argument to list_for_each_entry_rcu.

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>
---
 drivers/infiniband/hw/hfi1/verbs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/hfi1/verbs.c b/drivers/infiniband/hw/hfi1/verbs.c
index 089e201d7550..cab2ff185240 100644
--- a/drivers/infiniband/hw/hfi1/verbs.c
+++ b/drivers/infiniband/hw/hfi1/verbs.c
@@ -515,7 +515,8 @@ static inline void hfi1_handle_packet(struct hfi1_packet *packet,
 				       opa_get_lid(packet->dlid, 9B));
 		if (!mcast)
 			goto drop;
-		list_for_each_entry_rcu(p, &mcast->qp_list, list) {
+		list_for_each_entry_rcu(p, &mcast->qp_list, list
+								lock_is_held(&(ibp->rvp.lock).dep_map)) {
 			packet->qp = p->qp;
 			if (hfi1_do_pkey_check(packet))
 				goto drop;
-- 
2.17.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-14 16:25 [PATCH 2/3] infiniband: hw: qib: qib_verbs: Use built-in RCU list checking madhuparnabhowmik04
  -- strict thread matches above, loose matches on Subject: below --
2020-01-07 19:30 madhuparnabhowmik04
2020-01-07 17:35 [PATCH 1/3] infiniband: hw: hfi1: verbs.c: " madhuparnabhowmik04
2020-01-07 17:35 ` [PATCH 2/3] infiniband: hw: qib: qib_verbs: " madhuparnabhowmik04

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git