rcu: Remove redundant check of cpu_online()
authorYao Dongdong <yaodongdong@huawei.com>
Wed, 25 Feb 2015 09:09:46 +0000 (17:09 +0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 3 Mar 2015 19:17:34 +0000 (11:17 -0800)
Because invoke_cpu_core() checks whether the current CPU is online,
there is no need for __call_rcu_core() to redundantly check it.
There should not be any performance degradation because the called
function is visible to the compiler.  This commit therefore removes
the redundant check.

Signed-off-by: Yao Dongdong <yaodongdong@huawei.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c

index fbe9dd9..23194a7 100644 (file)
@@ -2741,7 +2741,7 @@ static void __call_rcu_core(struct rcu_state *rsp, struct rcu_data *rdp,
         * 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. */