From abd13fdd9516e5baae2257721b921684ecb090d3 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Tue, 1 May 2018 13:08:46 -0700 Subject: [PATCH] rcu: Convert rcu_future_grace_period tracepoint to gp_seq This commit makes the rcu_future_grace_period tracepoint use gp_seq instead of ->gpnum and ->completed. Signed-off-by: Paul E. McKenney --- include/trace/events/rcu.h | 22 +++++++++------------- kernel/rcu/tree.c | 7 +++---- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h index cd229e82ec8b..286047d22314 100644 --- a/include/trace/events/rcu.h +++ b/include/trace/events/rcu.h @@ -103,16 +103,14 @@ TRACE_EVENT(rcu_grace_period, */ TRACE_EVENT(rcu_future_grace_period, - TP_PROTO(const char *rcuname, unsigned long gpnum, unsigned long completed, - unsigned long c, u8 level, int grplo, int grphi, - const char *gpevent), + TP_PROTO(const char *rcuname, unsigned long gp_seq, unsigned long c, + u8 level, int grplo, int grphi, const char *gpevent), - TP_ARGS(rcuname, gpnum, completed, c, level, grplo, grphi, gpevent), + TP_ARGS(rcuname, gp_seq, c, level, grplo, grphi, gpevent), TP_STRUCT__entry( __field(const char *, rcuname) - __field(unsigned long, gpnum) - __field(unsigned long, completed) + __field(unsigned long, gp_seq) __field(unsigned long, c) __field(u8, level) __field(int, grplo) @@ -122,8 +120,7 @@ TRACE_EVENT(rcu_future_grace_period, TP_fast_assign( __entry->rcuname = rcuname; - __entry->gpnum = gpnum; - __entry->completed = completed; + __entry->gp_seq = gp_seq; __entry->c = c; __entry->level = level; __entry->grplo = grplo; @@ -131,10 +128,9 @@ TRACE_EVENT(rcu_future_grace_period, __entry->gpevent = gpevent; ), - TP_printk("%s %lu %lu %lu %u %d %d %s", - __entry->rcuname, __entry->gpnum, __entry->completed, - __entry->c, __entry->level, __entry->grplo, __entry->grphi, - __entry->gpevent) + TP_printk("%s %lu %lu %u %d %d %s", + __entry->rcuname, __entry->gp_seq, __entry->c, __entry->level, + __entry->grplo, __entry->grphi, __entry->gpevent) ); /* @@ -755,7 +751,7 @@ TRACE_EVENT(rcu_barrier, #else /* #ifdef CONFIG_RCU_TRACE */ #define trace_rcu_grace_period(rcuname, gp_seq, gpevent) do { } while (0) -#define trace_rcu_future_grace_period(rcuname, gpnum, completed, c, \ +#define trace_rcu_future_grace_period(rcuname, gp_seq, c, \ level, grplo, grphi, event) \ do { } while (0) #define trace_rcu_grace_period_init(rcuname, gpnum, level, grplo, grphi, \ diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 7ce85ad39af6..066dbaacec30 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -1552,9 +1552,8 @@ void rcu_cpu_stall_reset(void) static void trace_rcu_this_gp(struct rcu_node *rnp, struct rcu_data *rdp, unsigned long c, const char *s) { - trace_rcu_future_grace_period(rdp->rsp->name, rnp->gpnum, - rnp->completed, c, rnp->level, - rnp->grplo, rnp->grphi, s); + trace_rcu_future_grace_period(rdp->rsp->name, rnp->gp_seq, c, + rnp->level, rnp->grplo, rnp->grphi, s); } /* @@ -2053,7 +2052,7 @@ static void rcu_gp_cleanup(struct rcu_state *rsp) /* Check for GP requests since above loop. */ rdp = this_cpu_ptr(rsp->rda); if (ULONG_CMP_LT(rnp->gp_seq, rnp->gp_seq_needed)) { - trace_rcu_this_gp(rnp, rdp, rsp->completed - 1, + trace_rcu_this_gp(rnp, rdp, rnp->gp_seq_needed, TPS("CleanupMore")); needgp = true; } -- 2.11.0