History

rcu: Convert rcu_unlock_preempted_task tracepoint to ->gp_seq

This commit makes the rcu_unlock_preempted_task tracepoint use ->gp_seq instead of ->gpnum.

Paul E. McKenney committed 8 years ago

Commit 865aa1e1 parent 598ce092 files · +8 −8Browse files

Unified · Split

2 files
  1. include/trace/events/rcu.h +6 −6
  2. kernel/rcu/tree_plugin.h +2 −2
include/trace/events/rcu.h+6−6
@@ -325,23 +325,23 @@ TRACE_EVENT(rcu_preempt_task, · 324 unmodified lines
325 */325 */
326TRACE_EVENT(rcu_unlock_preempted_task,326TRACE_EVENT(rcu_unlock_preempted_task,
327 327
328 TP_PROTO(const char *rcuname, unsigned long gpnum, int pid),328 TP_PROTO(const char *rcuname, unsigned long gp_seq, int pid),
329 329
330 TP_ARGS(rcuname, gpnum, pid),330 TP_ARGS(rcuname, gp_seq, pid),
331 331
332 TP_STRUCT__entry(332 TP_STRUCT__entry(
333 __field(const char *, rcuname)333 __field(const char *, rcuname)
334 __field(unsigned long, gpnum)334 __field(unsigned long, gp_seq)
335 __field(int, pid)335 __field(int, pid)
336 ),336 ),
337 337
338 TP_fast_assign(338 TP_fast_assign(
339 __entry->rcuname = rcuname;339 __entry->rcuname = rcuname;
340 __entry->gpnum = gpnum;340 __entry->gp_seq = gp_seq;
341 __entry->pid = pid;341 __entry->pid = pid;
342 ),342 ),
343 343
344 TP_printk("%s %lu %d", __entry->rcuname, __entry->gpnum, __entry->pid)344 TP_printk("%s %lu %d", __entry->rcuname, __entry->gp_seq, __entry->pid)
345);345);
346 346
347/*347/*
@@ -762,7 +762,7 @@ TRACE_EVENT(rcu_barrier, · 414 unmodified lines
762 do { } while (0)762 do { } while (0)
763#define trace_rcu_nocb_wake(rcuname, cpu, reason) do { } while (0)763#define trace_rcu_nocb_wake(rcuname, cpu, reason) do { } while (0)
764#define trace_rcu_preempt_task(rcuname, pid, gp_seq) do { } while (0)764#define trace_rcu_preempt_task(rcuname, pid, gp_seq) do { } while (0)
765#define trace_rcu_unlock_preempted_task(rcuname, gpnum, pid) do { } while (0)765#define trace_rcu_unlock_preempted_task(rcuname, gp_seq, pid) do { } while (0)
766#define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, \766#define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, \
767 grplo, grphi, gp_tasks) do { } \767 grplo, grphi, gp_tasks) do { } \
768 while (0)768 while (0)
kernel/rcu/tree_plugin.h+2−2
@@ -545,7 +545,7 @@ void rcu_read_unlock_special(struct task_struct *t) · 544 unmodified lines
545 list_del_init(&t->rcu_node_entry);545 list_del_init(&t->rcu_node_entry);
546 t->rcu_blocked_node = NULL;546 t->rcu_blocked_node = NULL;
547 trace_rcu_unlock_preempted_task(TPS("rcu_preempt"),547 trace_rcu_unlock_preempted_task(TPS("rcu_preempt"),
548 rnp->gpnum, t->pid);548 rnp->gp_seq, t->pid);
549 if (&t->rcu_node_entry == rnp->gp_tasks)549 if (&t->rcu_node_entry == rnp->gp_tasks)
550 rnp->gp_tasks = np;550 rnp->gp_tasks = np;
551 if (&t->rcu_node_entry == rnp->exp_tasks)551 if (&t->rcu_node_entry == rnp->exp_tasks)
@@ -708,7 +708,7 @@ static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp) · 156 unmodified lines
708 t = container_of(rnp->gp_tasks, struct task_struct,708 t = container_of(rnp->gp_tasks, struct task_struct,
709 rcu_node_entry);709 rcu_node_entry);
710 trace_rcu_unlock_preempted_task(TPS("rcu_preempt-GPS"),710 trace_rcu_unlock_preempted_task(TPS("rcu_preempt-GPS"),
711 rnp->gpnum, t->pid);711 rnp->gp_seq, t->pid);
712 }712 }
713 WARN_ON_ONCE(rnp->qsmask);713 WARN_ON_ONCE(rnp->qsmask);
714}714}