mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-01 12:42:01 +10:00 
			
		
		
		
	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 | ||||
| 	 * 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); | ||||
| 
 | ||||
| 	/*
 | ||||
|  | ||||
| @ -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 | ||||
| 	 * 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); | ||||
| 
 | ||||
| 	ioc_exit_icq(icq); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user