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. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
@@ -325,23 +325,23 @@ TRACE_EVENT(rcu_preempt_task,
|
|||||||
*/
|
*/
|
||||||
TRACE_EVENT(rcu_unlock_preempted_task,
|
TRACE_EVENT(rcu_unlock_preempted_task,
|
||||||
|
|
||||||
TP_PROTO(const char *rcuname, unsigned long gpnum, int pid),
|
TP_PROTO(const char *rcuname, unsigned long gp_seq, int pid),
|
||||||
|
|
||||||
TP_ARGS(rcuname, gpnum, pid),
|
TP_ARGS(rcuname, gp_seq, pid),
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(const char *, rcuname)
|
__field(const char *, rcuname)
|
||||||
__field(unsigned long, gpnum)
|
__field(unsigned long, gp_seq)
|
||||||
__field(int, pid)
|
__field(int, pid)
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->rcuname = rcuname;
|
__entry->rcuname = rcuname;
|
||||||
__entry->gpnum = gpnum;
|
__entry->gp_seq = gp_seq;
|
||||||
__entry->pid = pid;
|
__entry->pid = pid;
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("%s %lu %d", __entry->rcuname, __entry->gpnum, __entry->pid)
|
TP_printk("%s %lu %d", __entry->rcuname, __entry->gp_seq, __entry->pid)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -762,7 +762,7 @@ TRACE_EVENT(rcu_barrier,
|
|||||||
do { } while (0)
|
do { } while (0)
|
||||||
#define trace_rcu_nocb_wake(rcuname, cpu, reason) do { } while (0)
|
#define trace_rcu_nocb_wake(rcuname, cpu, reason) do { } while (0)
|
||||||
#define trace_rcu_preempt_task(rcuname, pid, gp_seq) do { } while (0)
|
#define trace_rcu_preempt_task(rcuname, pid, gp_seq) do { } while (0)
|
||||||
#define trace_rcu_unlock_preempted_task(rcuname, gpnum, pid) do { } while (0)
|
#define trace_rcu_unlock_preempted_task(rcuname, gp_seq, pid) do { } while (0)
|
||||||
#define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, \
|
#define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, \
|
||||||
grplo, grphi, gp_tasks) do { } \
|
grplo, grphi, gp_tasks) do { } \
|
||||||
while (0)
|
while (0)
|
||||||
|
@@ -545,7 +545,7 @@ void rcu_read_unlock_special(struct task_struct *t)
|
|||||||
list_del_init(&t->rcu_node_entry);
|
list_del_init(&t->rcu_node_entry);
|
||||||
t->rcu_blocked_node = NULL;
|
t->rcu_blocked_node = NULL;
|
||||||
trace_rcu_unlock_preempted_task(TPS("rcu_preempt"),
|
trace_rcu_unlock_preempted_task(TPS("rcu_preempt"),
|
||||||
rnp->gpnum, t->pid);
|
rnp->gp_seq, t->pid);
|
||||||
if (&t->rcu_node_entry == rnp->gp_tasks)
|
if (&t->rcu_node_entry == rnp->gp_tasks)
|
||||||
rnp->gp_tasks = np;
|
rnp->gp_tasks = np;
|
||||||
if (&t->rcu_node_entry == rnp->exp_tasks)
|
if (&t->rcu_node_entry == rnp->exp_tasks)
|
||||||
@@ -708,7 +708,7 @@ static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp)
|
|||||||
t = container_of(rnp->gp_tasks, struct task_struct,
|
t = container_of(rnp->gp_tasks, struct task_struct,
|
||||||
rcu_node_entry);
|
rcu_node_entry);
|
||||||
trace_rcu_unlock_preempted_task(TPS("rcu_preempt-GPS"),
|
trace_rcu_unlock_preempted_task(TPS("rcu_preempt-GPS"),
|
||||||
rnp->gpnum, t->pid);
|
rnp->gp_seq, t->pid);
|
||||||
}
|
}
|
||||||
WARN_ON_ONCE(rnp->qsmask);
|
WARN_ON_ONCE(rnp->qsmask);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user