Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fecbf6f0 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcu: Simplify rcu_sched_qs() control flow



This commit applies an early-exit approach to rcu_sched_qs(), reducing
the nesting level and saving a line of code.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 47dbc906
Loading
Loading
Loading
Loading
+14 −15
Original line number Diff line number Diff line
@@ -244,7 +244,8 @@ void rcu_sched_qs(void)
{
	unsigned long flags;

	if (__this_cpu_read(rcu_sched_data.cpu_no_qs.s)) {
	if (!__this_cpu_read(rcu_sched_data.cpu_no_qs.s))
		return;
	trace_rcu_grace_period(TPS("rcu_sched"),
			       __this_cpu_read(rcu_sched_data.gpnum),
			       TPS("cpuqs"));
@@ -255,12 +256,10 @@ void rcu_sched_qs(void)
	if (__this_cpu_read(rcu_sched_data.cpu_no_qs.b.exp)) {
		__this_cpu_write(rcu_sched_data.cpu_no_qs.b.exp, false);
		rcu_report_exp_rdp(&rcu_sched_state,
					   this_cpu_ptr(&rcu_sched_data),
					   true);
				   this_cpu_ptr(&rcu_sched_data), true);
	}
	local_irq_restore(flags);
}
}

void rcu_bh_qs(void)
{