Commit ec6c676a authored by Paul E. McKenney's avatar Paul E. McKenney Committed by Jens Axboe

block: Substitute rcu_access_pointer() for rcu_dereference_raw()

(Trivial patch.)

If the code is looking at the RCU-protected pointer itself, but not
dereferencing it, the rcu_dereference() functions can be downgraded to
rcu_access_pointer().  This commit makes this downgrade in blkg_destroy()
and ioc_destroy_icq(), both of which simply compare the RCU-protected
pointer against another pointer with no dereferencing.
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent e3ebf0d4
...@@ -336,7 +336,7 @@ static void blkg_destroy(struct blkcg_gq *blkg) ...@@ -336,7 +336,7 @@ static void blkg_destroy(struct blkcg_gq *blkg)
* under queue_lock. If it's not pointing to @blkg now, it never * under queue_lock. If it's not pointing to @blkg now, it never
* will. Hint assignment itself can race safely. * will. Hint assignment itself can race safely.
*/ */
if (rcu_dereference_raw(blkcg->blkg_hint) == blkg) if (rcu_access_pointer(blkcg->blkg_hint) == blkg)
rcu_assign_pointer(blkcg->blkg_hint, NULL); rcu_assign_pointer(blkcg->blkg_hint, NULL);
/* /*
......
...@@ -68,7 +68,7 @@ static void ioc_destroy_icq(struct io_cq *icq) ...@@ -68,7 +68,7 @@ static void ioc_destroy_icq(struct io_cq *icq)
* under queue_lock. If it's not pointing to @icq now, it never * under queue_lock. If it's not pointing to @icq now, it never
* will. Hint assignment itself can race safely. * will. Hint assignment itself can race safely.
*/ */
if (rcu_dereference_raw(ioc->icq_hint) == icq) if (rcu_access_pointer(ioc->icq_hint) == icq)
rcu_assign_pointer(ioc->icq_hint, NULL); rcu_assign_pointer(ioc->icq_hint, NULL);
ioc_exit_icq(icq); ioc_exit_icq(icq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment