*/
LTTNG_TRACEPOINT_EVENT(rcu_utilization,
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
TP_PROTO(const char *s),
-#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
- TP_PROTO(char *s),
-#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
TP_ARGS(s),
#ifdef CONFIG_RCU_TRACE
#if defined(CONFIG_TREE_RCU) \
- || (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,19,0) \
- && defined(CONFIG_PREEMPT_RCU)) \
+ || defined(CONFIG_PREEMPT_RCU) \
|| defined(CONFIG_TREE_PREEMPT_RCU)
/*
ctf_string(gpevent, gpevent)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
-LTTNG_TRACEPOINT_EVENT(rcu_grace_period,
-
- TP_PROTO(const char *rcuname, unsigned long gpnum, const char *gpevent),
-
- TP_ARGS(rcuname, gpnum, gpevent),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(unsigned long, gpnum, gpnum)
- ctf_string(gpevent, gpevent)
- )
-)
#else
LTTNG_TRACEPOINT_EVENT(rcu_grace_period,
- TP_PROTO(char *rcuname, unsigned long gpnum, char *gpevent),
+ TP_PROTO(const char *rcuname, unsigned long gpnum, const char *gpevent),
TP_ARGS(rcuname, gpnum, gpevent),
ctf_integer(unsigned long, qsmask, qsmask)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
-LTTNG_TRACEPOINT_EVENT(rcu_grace_period_init,
-
- TP_PROTO(const char *rcuname, unsigned long gpnum, u8 level,
- int grplo, int grphi, unsigned long qsmask),
-
- TP_ARGS(rcuname, gpnum, level, grplo, grphi, qsmask),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(unsigned long, gpnum, gpnum)
- ctf_integer(u8, level, level)
- ctf_integer(int, grplo, grplo)
- ctf_integer(int, grphi, grphi)
- ctf_integer(unsigned long, qsmask, qsmask)
- )
-)
#else
LTTNG_TRACEPOINT_EVENT(rcu_grace_period_init,
- TP_PROTO(char *rcuname, unsigned long gpnum, u8 level,
+ TP_PROTO(const char *rcuname, unsigned long gpnum, u8 level,
int grplo, int grphi, unsigned long qsmask),
TP_ARGS(rcuname, gpnum, level, grplo, grphi, qsmask),
ctf_integer(int, pid, pid)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
-LTTNG_TRACEPOINT_EVENT(rcu_preempt_task,
-
- TP_PROTO(const char *rcuname, int pid, unsigned long gpnum),
-
- TP_ARGS(rcuname, pid, gpnum),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(unsigned long, gpnum, gpnum)
- ctf_integer(int, pid, pid)
- )
-)
#else
LTTNG_TRACEPOINT_EVENT(rcu_preempt_task,
- TP_PROTO(char *rcuname, int pid, unsigned long gpnum),
+ TP_PROTO(const char *rcuname, int pid, unsigned long gpnum),
TP_ARGS(rcuname, pid, gpnum),
ctf_integer(int, pid, pid)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
-LTTNG_TRACEPOINT_EVENT(rcu_unlock_preempted_task,
-
- TP_PROTO(const char *rcuname, unsigned long gpnum, int pid),
-
- TP_ARGS(rcuname, gpnum, pid),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(unsigned long, gpnum, gpnum)
- ctf_integer(int, pid, pid)
- )
-)
#else
LTTNG_TRACEPOINT_EVENT(rcu_unlock_preempted_task,
- TP_PROTO(char *rcuname, unsigned long gpnum, int pid),
+ TP_PROTO(const char *rcuname, unsigned long gpnum, int pid),
TP_ARGS(rcuname, gpnum, pid),
ctf_integer(u8, gp_tasks, gp_tasks)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
-LTTNG_TRACEPOINT_EVENT(rcu_quiescent_state_report,
-
- TP_PROTO(const char *rcuname, unsigned long gpnum,
- unsigned long mask, unsigned long qsmask,
- u8 level, int grplo, int grphi, int gp_tasks),
-
- TP_ARGS(rcuname, gpnum, mask, qsmask, level, grplo, grphi, gp_tasks),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(unsigned long, gpnum, gpnum)
- ctf_integer(unsigned long, mask, mask)
- ctf_integer(unsigned long, qsmask, qsmask)
- ctf_integer(u8, level, level)
- ctf_integer(int, grplo, grplo)
- ctf_integer(int, grphi, grphi)
- ctf_integer(u8, gp_tasks, gp_tasks)
- )
-)
#else
LTTNG_TRACEPOINT_EVENT(rcu_quiescent_state_report,
- TP_PROTO(char *rcuname, unsigned long gpnum,
+ TP_PROTO(const char *rcuname, unsigned long gpnum,
unsigned long mask, unsigned long qsmask,
u8 level, int grplo, int grphi, int gp_tasks),
ctf_string(qsevent, qsevent)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
-LTTNG_TRACEPOINT_EVENT(rcu_fqs,
-
- TP_PROTO(const char *rcuname, unsigned long gpnum, int cpu, const char *qsevent),
-
- TP_ARGS(rcuname, gpnum, cpu, qsevent),
-
- TP_FIELDS(
- ctf_integer(unsigned long, gpnum, gpnum)
- ctf_integer(int, cpu, cpu)
- ctf_string(rcuname, rcuname)
- ctf_string(qsevent, qsevent)
- )
-)
#else
LTTNG_TRACEPOINT_EVENT(rcu_fqs,
- TP_PROTO(char *rcuname, unsigned long gpnum, int cpu, char *qsevent),
+ TP_PROTO(const char *rcuname, unsigned long gpnum, int cpu, const char *qsevent),
TP_ARGS(rcuname, gpnum, cpu, qsevent),
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
+#else
LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
TP_PROTO(const char *polarity, long long oldnesting, long long newnesting),
ctf_integer(long long, newnesting, newnesting)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
-LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
-
- TP_PROTO(char *polarity, long long oldnesting, long long newnesting),
-
- TP_ARGS(polarity, oldnesting, newnesting),
-
- TP_FIELDS(
- ctf_string(polarity, polarity)
- ctf_integer(long long, oldnesting, oldnesting)
- ctf_integer(long long, newnesting, newnesting)
- )
-)
-#else
-LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
-
- TP_PROTO(char *polarity),
-
- TP_ARGS(polarity),
-
- TP_FIELDS(
- ctf_string(polarity, polarity)
- )
-)
#endif
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
/*
* Tracepoint for RCU preparation for idle, the goal being to get RCU
* processing done so that the current CPU can shut off its scheduling
*/
LTTNG_TRACEPOINT_EVENT(rcu_prep_idle,
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
TP_PROTO(const char *reason),
-#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
- TP_PROTO(char *reason),
-#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
TP_ARGS(reason),
ctf_string(reason, reason)
)
)
-#endif
/*
* Tracepoint for the registration of a single RCU callback function.
ctf_integer(long, qlen, qlen)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
+#else
LTTNG_TRACEPOINT_EVENT(rcu_callback,
TP_PROTO(const char *rcuname, struct rcu_head *rhp, long qlen_lazy,
ctf_integer(long, qlen, qlen)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
-LTTNG_TRACEPOINT_EVENT(rcu_callback,
-
- TP_PROTO(char *rcuname, struct rcu_head *rhp, long qlen_lazy,
- long qlen),
-
- TP_ARGS(rcuname, rhp, qlen_lazy, qlen),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer_hex(void *, rhp, rhp)
- ctf_integer_hex(void *, func, rhp->func)
- ctf_integer(long, qlen_lazy, qlen_lazy)
- ctf_integer(long, qlen, qlen)
- )
-)
-#else
-LTTNG_TRACEPOINT_EVENT(rcu_callback,
-
- TP_PROTO(char *rcuname, struct rcu_head *rhp, long qlen),
-
- TP_ARGS(rcuname, rhp, qlen),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer_hex(void *, rhp, rhp)
- ctf_integer_hex(void *, func, rhp->func)
- ctf_integer(long, qlen, qlen)
- )
-)
#endif
ctf_integer(long, qlen, qlen)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
+#else
LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback,
TP_PROTO(const char *rcuname, struct rcu_head *rhp, unsigned long offset,
ctf_integer(long, qlen, qlen)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
-LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback,
-
- TP_PROTO(char *rcuname, struct rcu_head *rhp, unsigned long offset,
- long qlen_lazy, long qlen),
-
- TP_ARGS(rcuname, rhp, offset, qlen_lazy, qlen),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer_hex(void *, rhp, rhp)
- ctf_integer_hex(unsigned long, offset, offset)
- ctf_integer(long, qlen_lazy, qlen_lazy)
- ctf_integer(long, qlen, qlen)
- )
-)
-#else
-LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback,
-
- TP_PROTO(char *rcuname, struct rcu_head *rhp, unsigned long offset,
- long qlen),
-
- TP_ARGS(rcuname, rhp, offset, qlen),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer_hex(void *, rhp, rhp)
- ctf_integer_hex(unsigned long, offset, offset)
- ctf_integer(long, qlen, qlen)
- )
-)
#endif
/*
ctf_integer(long, blimit, blimit)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
+#else
LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
TP_PROTO(const char *rcuname, long qlen_lazy, long qlen, long blimit),
ctf_integer(long, blimit, blimit)
)
)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0))
-LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
-
- TP_PROTO(char *rcuname, long qlen_lazy, long qlen, long blimit),
-
- TP_ARGS(rcuname, qlen_lazy, qlen, blimit),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(long, qlen_lazy, qlen_lazy)
- ctf_integer(long, qlen, qlen)
- ctf_integer(long, blimit, blimit)
- )
-)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
-LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
-
- TP_PROTO(char *rcuname, long qlen_lazy, long qlen, int blimit),
-
- TP_ARGS(rcuname, qlen_lazy, qlen, blimit),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(long, qlen_lazy, qlen_lazy)
- ctf_integer(long, qlen, qlen)
- ctf_integer(int, blimit, blimit)
- )
-)
-#else
-LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
-
- TP_PROTO(char *rcuname, long qlen, int blimit),
-
- TP_ARGS(rcuname, qlen, blimit),
-
- TP_FIELDS(
- ctf_string(rcuname, rcuname)
- ctf_integer(long, qlen, qlen)
- ctf_integer(int, blimit, blimit)
- )
-)
#endif
/*
*/
LTTNG_TRACEPOINT_EVENT(rcu_invoke_callback,
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcuname, struct rcu_head *rhp),
-#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
- TP_PROTO(char *rcuname, struct rcu_head *rhp),
-#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
TP_ARGS(rcuname, rhp),
*/
LTTNG_TRACEPOINT_EVENT(rcu_invoke_kfree_callback,
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcuname, struct rcu_head *rhp, unsigned long offset),
-#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
- TP_PROTO(char *rcuname, struct rcu_head *rhp, unsigned long offset),
-#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
TP_ARGS(rcuname, rhp, offset),
*/
LTTNG_TRACEPOINT_EVENT(rcu_batch_end,
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
TP_PROTO(const char *rcuname, int callbacks_invoked,
char cb, char nr, char iit, char risk),
TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
- TP_PROTO(const char *rcuname, int callbacks_invoked,
- bool cb, bool nr, bool iit, bool risk),
-
- TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
- TP_PROTO(char *rcuname, int callbacks_invoked,
- bool cb, bool nr, bool iit, bool risk),
-
- TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
-#else
- TP_PROTO(char *rcuname, int callbacks_invoked),
-
- TP_ARGS(rcuname, callbacks_invoked),
-#endif
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(int, callbacks_invoked, callbacks_invoked)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
ctf_integer(char, cb, cb)
ctf_integer(char, nr, nr)
ctf_integer(char, iit, iit)
ctf_integer(char, risk, risk)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
- ctf_integer(bool, cb, cb)
- ctf_integer(bool, nr, nr)
- ctf_integer(bool, iit, iit)
- ctf_integer(bool, risk, risk)
-#endif
)
)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
/*
* Tracepoint for rcutorture readers. The first argument is the name
* of the RCU flavor from rcutorture's viewpoint and the second argument
*/
LTTNG_TRACEPOINT_EVENT(rcu_torture_read,
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcutorturename, struct rcu_head *rhp,
unsigned long secs, unsigned long c_old, unsigned long c),
TP_ARGS(rcutorturename, rhp, secs, c_old, c),
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0))
- TP_PROTO(char *rcutorturename, struct rcu_head *rhp,
- unsigned long secs, unsigned long c_old, unsigned long c),
-
- TP_ARGS(rcutorturename, rhp, secs, c_old, c),
-#else
- TP_PROTO(char *rcutorturename, struct rcu_head *rhp),
-
- TP_ARGS(rcutorturename, rhp),
-#endif
TP_FIELDS(
ctf_string(rcutorturename, rcutorturename)
ctf_integer_hex(struct rcu_head *, rhp, rhp)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0))
ctf_integer(unsigned long, secs, secs)
ctf_integer(unsigned long, c_old, c_old)
ctf_integer(unsigned long, c, c)
-#endif
)
)
-#endif
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,6,0))
/*
* Tracepoint for _rcu_barrier() execution. The string "s" describes
* the _rcu_barrier phase:
*/
LTTNG_TRACEPOINT_EVENT(rcu_barrier,
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcuname, const char *s, int cpu, int cnt, unsigned long done),
-#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
- TP_PROTO(char *rcuname, char *s, int cpu, int cnt, unsigned long done),
-#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
TP_ARGS(rcuname, s, cpu, cnt, done),
ctf_integer(unsigned long, done, done)
)
)
-#endif
#else /* #ifdef CONFIG_RCU_TRACE */
#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,16,0))
#define trace_rcu_dyntick(polarity, oldnesting, newnesting, dyntick) do { } while (0)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
-#define trace_rcu_dyntick(polarity, oldnesting, newnesting) do { } while (0)
#else
-#define trace_rcu_dyntick(polarity) do { } while (0)
+#define trace_rcu_dyntick(polarity, oldnesting, newnesting) do { } while (0)
#endif
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
+
#define trace_rcu_prep_idle(reason) do { } while (0)
-#endif
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
#define trace_rcu_callback(rcuname, rhp, qlen_lazy, qlen) do { } while (0)
#define trace_rcu_kfree_callback(rcuname, rhp, offset, qlen_lazy, qlen) \
do { } while (0)
#define trace_rcu_batch_start(rcuname, qlen_lazy, qlen, blimit) \
do { } while (0)
-#else
-#define trace_rcu_callback(rcuname, rhp, qlen) do { } while (0)
-#define trace_rcu_kfree_callback(rcuname, rhp, offset, qlen) do { } while (0)
-#define trace_rcu_batch_start(rcuname, qlen, blimit) do { } while (0)
-#endif
#define trace_rcu_invoke_callback(rcuname, rhp) do { } while (0)
#define trace_rcu_invoke_kfree_callback(rcuname, rhp, offset) do { } while (0)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
#define trace_rcu_batch_end(rcuname, callbacks_invoked, cb, nr, iit, risk) \
do { } while (0)
-#else
-#define trace_rcu_batch_end(rcuname, callbacks_invoked) do { } while (0)
-#endif
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0))
#define trace_rcu_torture_read(rcutorturename, rhp, secs, c_old, c) \
do { } while (0)
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
-#define trace_rcu_torture_read(rcutorturename, rhp) do { } while (0)
-#endif
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,6,0))
#define trace_rcu_barrier(name, s, cpu, cnt, done) do { } while (0)
-#endif
#endif /* #else #ifdef CONFIG_RCU_TRACE */
#endif /* LTTNG_TRACE_RCU_H */