diff options
author | Andreea-Cristina Bernat <bernat.ada@gmail.com> | 2015-01-16 10:19:59 -0500 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2015-02-17 13:26:19 -0500 |
commit | 590c3fec2dbfc07f1dbdb992f9f213a9f71d7719 (patch) | |
tree | d85c8b4cabf0a1d48a4b53462d9784d1f490ea73 | |
parent | 03c885913f914d17124432dd50caf2923a80847c (diff) |
IB/qib: Replace rcu_assign_pointer() with RCU_INIT_POINTER() in qib_keys.c
The uses of "rcu_assign_pointer()" are NULLing out the pointers.
According to RCU_INIT_POINTER()'s block comment:
"1. This use of RCU_INIT_POINTER() is NULLing out the pointer"
it is better to use it instead of rcu_assign_pointer() because it has a
smaller overhead.
The following Coccinelle semantic patch was used:
@@
@@
- rcu_assign_pointer
+ RCU_INIT_POINTER
(..., NULL)
[Derived from http://marc.info/?l=linux-rdma&m=140836519219236&w=2]
Tested-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Andreea-Cristina Bernat <bernat.ada@gmail.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r-- | drivers/infiniband/hw/qib/qib_keys.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/qib/qib_keys.c b/drivers/infiniband/hw/qib/qib_keys.c index 3b9afccaaade..ad843c786e72 100644 --- a/drivers/infiniband/hw/qib/qib_keys.c +++ b/drivers/infiniband/hw/qib/qib_keys.c | |||
@@ -122,10 +122,10 @@ void qib_free_lkey(struct qib_mregion *mr) | |||
122 | if (!mr->lkey_published) | 122 | if (!mr->lkey_published) |
123 | goto out; | 123 | goto out; |
124 | if (lkey == 0) | 124 | if (lkey == 0) |
125 | rcu_assign_pointer(dev->dma_mr, NULL); | 125 | RCU_INIT_POINTER(dev->dma_mr, NULL); |
126 | else { | 126 | else { |
127 | r = lkey >> (32 - ib_qib_lkey_table_size); | 127 | r = lkey >> (32 - ib_qib_lkey_table_size); |
128 | rcu_assign_pointer(rkt->table[r], NULL); | 128 | RCU_INIT_POINTER(rkt->table[r], NULL); |
129 | } | 129 | } |
130 | qib_put_mr(mr); | 130 | qib_put_mr(mr); |
131 | mr->lkey_published = 0; | 131 | mr->lkey_published = 0; |