2 #define TRACE_SYSTEM rcu
4 #if !defined(_TRACE_RCU_H) || defined(TRACE_HEADER_MULTI_READ)
37 #ifdef CONFIG_RCU_TRACE
39 #if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU)
52 TP_PROTO(
char *rcuname,
unsigned long gpnum,
char *gpevent),
54 TP_ARGS(rcuname, gpnum, gpevent),
82 int grplo,
int grphi,
unsigned long qsmask),
84 TP_ARGS(rcuname, gpnum, level, grplo, grphi, qsmask),
117 TP_PROTO(
char *rcuname,
int pid,
unsigned long gpnum),
144 TP_PROTO(
char *rcuname,
unsigned long gpnum,
int pid),
173 TP_PROTO(
char *rcuname,
unsigned long gpnum,
174 unsigned long mask,
unsigned long qsmask,
175 u8 level,
int grplo,
int grphi,
int gp_tasks),
177 TP_ARGS(rcuname, gpnum, mask, qsmask, level, grplo, grphi, gp_tasks),
217 TP_PROTO(
char *rcuname,
unsigned long gpnum,
int cpu,
char *qsevent),
219 TP_ARGS(rcuname, gpnum, cpu, qsevent),
259 TP_ARGS(polarity, oldnesting, newnesting),
269 __entry->oldnesting = oldnesting;
270 __entry->newnesting = newnesting;
328 TP_ARGS(rcuname, rhp, qlen_lazy, qlen),
342 __entry->qlen_lazy = qlen_lazy;
362 long qlen_lazy,
long qlen),
364 TP_ARGS(rcuname, rhp, offset, qlen_lazy, qlen),
378 __entry->qlen_lazy = qlen_lazy;
396 TP_PROTO(
char *rcuname,
long qlen_lazy,
long qlen,
int blimit),
398 TP_ARGS(rcuname, qlen_lazy, qlen, blimit),
409 __entry->qlen_lazy = qlen_lazy;
488 TP_PROTO(
char *rcuname,
int callbacks_invoked,
489 bool cb,
bool nr,
bool iit,
bool risk),
491 TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
495 __field(
int, callbacks_invoked)
504 __entry->callbacks_invoked = callbacks_invoked;
511 TP_printk(
"%s CBs-invoked=%d idle=%c%c%c%c",
531 __field(
char *, rcutorturename)
536 __entry->rcutorturename = rcutorturename;
563 TP_PROTO(
char *rcuname,
char *s,
int cpu,
int cnt,
unsigned long done),
565 TP_ARGS(rcuname, s, cpu, cnt, done),
583 TP_printk(
"%s %s cpu %d remaining %d # %lu",
590 #define trace_rcu_grace_period(rcuname, gpnum, gpevent) do { } while (0)
591 #define trace_rcu_grace_period_init(rcuname, gpnum, level, grplo, grphi, \
592 qsmask) do { } while (0)
593 #define trace_rcu_preempt_task(rcuname, pid, gpnum) do { } while (0)
594 #define trace_rcu_unlock_preempted_task(rcuname, gpnum, pid) do { } while (0)
595 #define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, \
596 grplo, grphi, gp_tasks) do { } \
598 #define trace_rcu_fqs(rcuname, gpnum, cpu, qsevent) do { } while (0)
599 #define trace_rcu_dyntick(polarity, oldnesting, newnesting) do { } while (0)
600 #define trace_rcu_prep_idle(reason) do { } while (0)
601 #define trace_rcu_callback(rcuname, rhp, qlen_lazy, qlen) do { } while (0)
602 #define trace_rcu_kfree_callback(rcuname, rhp, offset, qlen_lazy, qlen) \
604 #define trace_rcu_batch_start(rcuname, qlen_lazy, qlen, blimit) \
606 #define trace_rcu_invoke_callback(rcuname, rhp) do { } while (0)
607 #define trace_rcu_invoke_kfree_callback(rcuname, rhp, offset) do { } while (0)
608 #define trace_rcu_batch_end(rcuname, callbacks_invoked, cb, nr, iit, risk) \
610 #define trace_rcu_torture_read(rcutorturename, rhp) do { } while (0)
611 #define trace_rcu_barrier(name, s, cpu, cnt, done) do { } while (0)