rcu: Remove ACCESS_ONCE() from jiffies
Because jiffies is one of a very few variables marked "volatile", there is no need to use ACCESS_ONCE() when accessing it. This commit therefore removes the redundant ACCESS_ONCE() wrappers. Reported by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
		
					parent
					
						
							
								87de1cfdc5
							
						
					
				
			
			
				commit
				
					
						cb1e78cfa2
					
				
			
		
					 2 changed files with 5 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -1352,7 +1352,7 @@ rcu_torture_shutdown(void *arg)
 | 
			
		|||
	unsigned long jiffies_snap;
 | 
			
		||||
 | 
			
		||||
	VERBOSE_PRINTK_STRING("rcu_torture_shutdown task started");
 | 
			
		||||
	jiffies_snap = ACCESS_ONCE(jiffies);
 | 
			
		||||
	jiffies_snap = jiffies;
 | 
			
		||||
	while (ULONG_CMP_LT(jiffies_snap, shutdown_time) &&
 | 
			
		||||
	       !kthread_should_stop()) {
 | 
			
		||||
		delta = shutdown_time - jiffies_snap;
 | 
			
		||||
| 
						 | 
				
			
			@ -1361,7 +1361,7 @@ rcu_torture_shutdown(void *arg)
 | 
			
		|||
				 "rcu_torture_shutdown task: %lu jiffies remaining\n",
 | 
			
		||||
				 torture_type, delta);
 | 
			
		||||
		schedule_timeout_interruptible(delta);
 | 
			
		||||
		jiffies_snap = ACCESS_ONCE(jiffies);
 | 
			
		||||
		jiffies_snap = jiffies;
 | 
			
		||||
	}
 | 
			
		||||
	if (kthread_should_stop()) {
 | 
			
		||||
		VERBOSE_PRINTK_STRING("rcu_torture_shutdown task stopping");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -837,7 +837,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp,
 | 
			
		|||
	 * to the next.  Only do this for the primary flavor of RCU.
 | 
			
		||||
	 */
 | 
			
		||||
	if (rdp->rsp == rcu_state &&
 | 
			
		||||
	    ULONG_CMP_GE(ACCESS_ONCE(jiffies), rdp->rsp->jiffies_resched)) {
 | 
			
		||||
	    ULONG_CMP_GE(jiffies, rdp->rsp->jiffies_resched)) {
 | 
			
		||||
		rdp->rsp->jiffies_resched += 5;
 | 
			
		||||
		resched_cpu(rdp->cpu);
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -847,7 +847,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp,
 | 
			
		|||
 | 
			
		||||
static void record_gp_stall_check_time(struct rcu_state *rsp)
 | 
			
		||||
{
 | 
			
		||||
	unsigned long j = ACCESS_ONCE(jiffies);
 | 
			
		||||
	unsigned long j = jiffies;
 | 
			
		||||
	unsigned long j1;
 | 
			
		||||
 | 
			
		||||
	rsp->gp_start = j;
 | 
			
		||||
| 
						 | 
				
			
			@ -1005,7 +1005,7 @@ static void check_cpu_stall(struct rcu_state *rsp, struct rcu_data *rdp)
 | 
			
		|||
 | 
			
		||||
	if (rcu_cpu_stall_suppress || !rcu_gp_in_progress(rsp))
 | 
			
		||||
		return;
 | 
			
		||||
	j = ACCESS_ONCE(jiffies);
 | 
			
		||||
	j = jiffies;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Lots of memory barriers to reject false positives.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue