forked from Minki/linux
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: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
e3ebf0d457
commit
ec6c676a08
@ -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)
|
|||||||
* 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);
|
||||||
|
Loading…
Reference in New Issue
Block a user