Re: [PATCH RFC 3/8] rcu: Add back the cpuend tracepoint

2018-05-14 Thread Joel Fernandes
On Mon, May 14, 2018 at 11:12:27AM -0700, Paul E. McKenney wrote:
> On Sun, May 13, 2018 at 08:15:36PM -0700, Joel Fernandes (Google) wrote:
> > Commit be4b8beed87d ("rcu: Move RCU's grace-period-change code to ->gp_seq")
> > removed the cpuend grace period trace point. This patch adds it back.
> > 
> > Signed-off-by: Joel Fernandes (Google) 
> 
> Good catch!!!  I queued this to be squashed into the offending commit,
> with attribution.

Cool, thanks!

- Joel



Re: [PATCH RFC 3/8] rcu: Add back the cpuend tracepoint

2018-05-14 Thread Joel Fernandes
On Mon, May 14, 2018 at 11:12:27AM -0700, Paul E. McKenney wrote:
> On Sun, May 13, 2018 at 08:15:36PM -0700, Joel Fernandes (Google) wrote:
> > Commit be4b8beed87d ("rcu: Move RCU's grace-period-change code to ->gp_seq")
> > removed the cpuend grace period trace point. This patch adds it back.
> > 
> > Signed-off-by: Joel Fernandes (Google) 
> 
> Good catch!!!  I queued this to be squashed into the offending commit,
> with attribution.

Cool, thanks!

- Joel



Re: [PATCH RFC 3/8] rcu: Add back the cpuend tracepoint

2018-05-14 Thread Paul E. McKenney
On Sun, May 13, 2018 at 08:15:36PM -0700, Joel Fernandes (Google) wrote:
> Commit be4b8beed87d ("rcu: Move RCU's grace-period-change code to ->gp_seq")
> removed the cpuend grace period trace point. This patch adds it back.
> 
> Signed-off-by: Joel Fernandes (Google) 

Good catch!!!  I queued this to be squashed into the offending commit,
with attribution.

Thanx, Paul

> ---
>  kernel/rcu/tree.c | 6 --
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> index 9ad931bff409..29ccc60bdbfc 100644
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@ -1774,10 +1774,12 @@ static bool __note_gp_changes(struct rcu_state *rsp, 
> struct rcu_node *rnp,
> 
>   /* Handle the ends of any preceding grace periods first. */
>   if (rcu_seq_completed_gp(rdp->gp_seq, rnp->gp_seq) ||
> - unlikely(READ_ONCE(rdp->gpwrap)))
> + unlikely(READ_ONCE(rdp->gpwrap))) {
>   ret = rcu_advance_cbs(rsp, rnp, rdp); /* Advance callbacks. */
> - else
> + trace_rcu_grace_period(rsp->name, rdp->gp_seq, TPS("cpuend"));
> + } else {
>   ret = rcu_accelerate_cbs(rsp, rnp, rdp); /* Recent callbacks. */
> + }
> 
>   /* Now handle the beginnings of any new-to-this-CPU grace periods. */
>   if (rcu_seq_new_gp(rdp->gp_seq, rnp->gp_seq) ||
> -- 
> 2.17.0.441.gb46fe60e1d-goog
> 



Re: [PATCH RFC 3/8] rcu: Add back the cpuend tracepoint

2018-05-14 Thread Paul E. McKenney
On Sun, May 13, 2018 at 08:15:36PM -0700, Joel Fernandes (Google) wrote:
> Commit be4b8beed87d ("rcu: Move RCU's grace-period-change code to ->gp_seq")
> removed the cpuend grace period trace point. This patch adds it back.
> 
> Signed-off-by: Joel Fernandes (Google) 

Good catch!!!  I queued this to be squashed into the offending commit,
with attribution.

Thanx, Paul

> ---
>  kernel/rcu/tree.c | 6 --
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> index 9ad931bff409..29ccc60bdbfc 100644
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@ -1774,10 +1774,12 @@ static bool __note_gp_changes(struct rcu_state *rsp, 
> struct rcu_node *rnp,
> 
>   /* Handle the ends of any preceding grace periods first. */
>   if (rcu_seq_completed_gp(rdp->gp_seq, rnp->gp_seq) ||
> - unlikely(READ_ONCE(rdp->gpwrap)))
> + unlikely(READ_ONCE(rdp->gpwrap))) {
>   ret = rcu_advance_cbs(rsp, rnp, rdp); /* Advance callbacks. */
> - else
> + trace_rcu_grace_period(rsp->name, rdp->gp_seq, TPS("cpuend"));
> + } else {
>   ret = rcu_accelerate_cbs(rsp, rnp, rdp); /* Recent callbacks. */
> + }
> 
>   /* Now handle the beginnings of any new-to-this-CPU grace periods. */
>   if (rcu_seq_new_gp(rdp->gp_seq, rnp->gp_seq) ||
> -- 
> 2.17.0.441.gb46fe60e1d-goog
> 



[PATCH RFC 3/8] rcu: Add back the cpuend tracepoint

2018-05-13 Thread Joel Fernandes (Google)
Commit be4b8beed87d ("rcu: Move RCU's grace-period-change code to ->gp_seq")
removed the cpuend grace period trace point. This patch adds it back.

Signed-off-by: Joel Fernandes (Google) 
---
 kernel/rcu/tree.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 9ad931bff409..29ccc60bdbfc 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1774,10 +1774,12 @@ static bool __note_gp_changes(struct rcu_state *rsp, 
struct rcu_node *rnp,
 
/* Handle the ends of any preceding grace periods first. */
if (rcu_seq_completed_gp(rdp->gp_seq, rnp->gp_seq) ||
-   unlikely(READ_ONCE(rdp->gpwrap)))
+   unlikely(READ_ONCE(rdp->gpwrap))) {
ret = rcu_advance_cbs(rsp, rnp, rdp); /* Advance callbacks. */
-   else
+   trace_rcu_grace_period(rsp->name, rdp->gp_seq, TPS("cpuend"));
+   } else {
ret = rcu_accelerate_cbs(rsp, rnp, rdp); /* Recent callbacks. */
+   }
 
/* Now handle the beginnings of any new-to-this-CPU grace periods. */
if (rcu_seq_new_gp(rdp->gp_seq, rnp->gp_seq) ||
-- 
2.17.0.441.gb46fe60e1d-goog



[PATCH RFC 3/8] rcu: Add back the cpuend tracepoint

2018-05-13 Thread Joel Fernandes (Google)
Commit be4b8beed87d ("rcu: Move RCU's grace-period-change code to ->gp_seq")
removed the cpuend grace period trace point. This patch adds it back.

Signed-off-by: Joel Fernandes (Google) 
---
 kernel/rcu/tree.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 9ad931bff409..29ccc60bdbfc 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1774,10 +1774,12 @@ static bool __note_gp_changes(struct rcu_state *rsp, 
struct rcu_node *rnp,
 
/* Handle the ends of any preceding grace periods first. */
if (rcu_seq_completed_gp(rdp->gp_seq, rnp->gp_seq) ||
-   unlikely(READ_ONCE(rdp->gpwrap)))
+   unlikely(READ_ONCE(rdp->gpwrap))) {
ret = rcu_advance_cbs(rsp, rnp, rdp); /* Advance callbacks. */
-   else
+   trace_rcu_grace_period(rsp->name, rdp->gp_seq, TPS("cpuend"));
+   } else {
ret = rcu_accelerate_cbs(rsp, rnp, rdp); /* Recent callbacks. */
+   }
 
/* Now handle the beginnings of any new-to-this-CPU grace periods. */
if (rcu_seq_new_gp(rdp->gp_seq, rnp->gp_seq) ||
-- 
2.17.0.441.gb46fe60e1d-goog