Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit abd13fdd authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

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: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 477351f7
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -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, \
+3 −4
Original line number Diff line number Diff line
@@ -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;
	}