[PATCH 09/16] rcu: Remove redundant check for online cpu

Pranith Kumar
2014-07-23T05:12:59Z

There are two checks for an online CPU if two if() conditions. This commit
simplies this by replacing it with only one check for the online CPU.

Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
---
kernel/rcu/tree.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 5dcbf36..8d598a2 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2602,15 +2602,18 @@ static void __call_rcu_core(struct rcu_state *rsp, struct rcu_data *rdp,
{
bool needwake;

+ if (!cpu_online(smp_processor_id()))
+ return;
+
/*
* If called from an extended quiescent state, invoke the RCU
* core in order to force a re-evaluation of RCU's idleness.
*/
- if (!rcu_is_watching() && cpu_online(smp_processor_id()))
+ if (!rcu_is_watching())
invoke_rcu_core();

- /* If interrupts were disabled or CPU offline, don't invoke RCU core. */
- if (irqs_disabled_flags(flags) || cpu_is_offline(smp_processor_id()))
+ /* If interrupts were disabled, don't invoke RCU core. */
+ if (irqs_disabled_flags(flags))
return;

/*
--
2.0.0.rc2