Commit 0ea3acbc authored by Michal Schmidt's avatar Michal Schmidt Committed by Frederic Weisbecker
Browse files

rcu/srcutiny: don't return before reenabling preemption



Code after the return statement is dead. Enable preemption before
returning from srcu_drive_gp().

This will be important when/if PREEMPT_AUTO (lazy resched) gets merged.

Fixes: 65b4a595 ("srcu: Make Tiny SRCU explicitly disable preemption")
Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
Signed-off-by: default avatarMichal Schmidt <mschmidt@redhat.com>
Reviewed-by: default avatarNeeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
parent d4e287d7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -122,8 +122,8 @@ void srcu_drive_gp(struct work_struct *wp)
	ssp = container_of(wp, struct srcu_struct, srcu_work);
	preempt_disable();  // Needed for PREEMPT_AUTO
	if (ssp->srcu_gp_running || ULONG_CMP_GE(ssp->srcu_idx, READ_ONCE(ssp->srcu_idx_max))) {
		return; /* Already running or nothing to do. */
		preempt_enable();
		return; /* Already running or nothing to do. */
	}

	/* Remove recently arrived callbacks and wait for readers. */