Re: [PATCH] rcu: Remove reduplicate check of cpu_online

2015-02-25 Thread Paul E. McKenney
On Wed, Feb 25, 2015 at 05:09:46PM +0800, Yao Dongdong wrote:
> The calling function invoke_rcu_core will check it.
> 
> Signed-off-by: Yao Dongdong 

Hmmm...  That is a fastpath, but invoke_rcu_core() is visible to the compiler,
which should inline anyway.  I took this patch for 4.1, but updated
the title and commit log as follows:

rcu: Remove redundant check of cpu_online()

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.

Thanx, Paul

> ---
>  kernel/rcu/tree.c |2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> index 48d640c..e5f9b7e 100644
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@ -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. */
> -- 
> 1.7.9.5
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] rcu: Remove reduplicate check of cpu_online

2015-02-25 Thread Yao Dongdong
The calling function invoke_rcu_core will check it.

Signed-off-by: Yao Dongdong 
---
 kernel/rcu/tree.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 48d640c..e5f9b7e 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -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. */
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] rcu: Remove reduplicate check of cpu_online

2015-02-25 Thread Paul E. McKenney
On Wed, Feb 25, 2015 at 05:09:46PM +0800, Yao Dongdong wrote:
 The calling function invoke_rcu_core will check it.
 
 Signed-off-by: Yao Dongdong yaodongd...@huawei.com

Hmmm...  That is a fastpath, but invoke_rcu_core() is visible to the compiler,
which should inline anyway.  I took this patch for 4.1, but updated
the title and commit log as follows:

rcu: Remove redundant check of cpu_online()

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.

Thanx, Paul

 ---
  kernel/rcu/tree.c |2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
 index 48d640c..e5f9b7e 100644
 --- a/kernel/rcu/tree.c
 +++ b/kernel/rcu/tree.c
 @@ -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. */
 -- 
 1.7.9.5
 

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] rcu: Remove reduplicate check of cpu_online

2015-02-25 Thread Yao Dongdong
The calling function invoke_rcu_core will check it.

Signed-off-by: Yao Dongdong yaodongd...@huawei.com
---
 kernel/rcu/tree.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 48d640c..e5f9b7e 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -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. */
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/