X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Frcu.h;h=5faaaa63d96f1ef6700e2ed2c6b2f04c927768c0;hb=63df31ea438f73ca08bec3a52cd3cc1532a868c9;hp=028adc508612e4dddd7c577c45fe8fc43bdd9d0e;hpb=2c4fc808098849a343f24f35c8444d92956d1a8f;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/rcu.h b/instrumentation/events/lttng-module/rcu.h index 028adc50..5faaaa63 100644 --- a/instrumentation/events/lttng-module/rcu.h +++ b/instrumentation/events/lttng-module/rcu.h @@ -502,34 +502,68 @@ LTTNG_TRACEPOINT_EVENT(rcu_prep_idle, * number of lazy callbacks queued, and the fourth element is the * total number of callbacks queued. */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) +LTTNG_TRACEPOINT_EVENT(rcu_callback, + + TP_PROTO(const 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) + ) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) LTTNG_TRACEPOINT_EVENT(rcu_callback, -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) TP_PROTO(const 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) + ) +) #elif (LINUX_VERSION_CODE >= 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), -#endif TP_FIELDS( ctf_string(rcuname, rcuname) ctf_integer_hex(void *, rhp, rhp) ctf_integer_hex(void *, func, rhp->func) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - ctf_integer(long, qlen_lazy, qlen_lazy) -#endif ctf_integer(long, qlen, qlen) ) ) +#endif + /* * Tracepoint for the registration of a single RCU callback of the special @@ -539,36 +573,69 @@ LTTNG_TRACEPOINT_EVENT(rcu_callback, * the fourth argument is the number of lazy callbacks queued, and the * fifth argument is the total number of callbacks queued. */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback, + TP_PROTO(const 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) + ) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) +LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback, -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) TP_PROTO(const 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) + ) +) #elif (LINUX_VERSION_CODE >= 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), -#endif TP_FIELDS( ctf_string(rcuname, rcuname) ctf_integer_hex(void *, rhp, rhp) ctf_integer_hex(unsigned long, offset, offset) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - ctf_integer(long, qlen_lazy, qlen_lazy) -#endif ctf_integer(long, qlen, qlen) ) ) +#endif /* * Tracepoint for marking the beginning rcu_do_batch, performed to start @@ -577,39 +644,75 @@ LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback, * the total number of callbacks queued, and the fourth argument is * the current RCU-callback batch limit. */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) +LTTNG_TRACEPOINT_EVENT(rcu_batch_start, + + TP_PROTO(const char *rcuname, long qlen, long blimit), + + TP_ARGS(rcuname, qlen, blimit), + + TP_FIELDS( + ctf_string(rcuname, rcuname) + ctf_integer(long, qlen, qlen) + ctf_integer(long, blimit, blimit) + ) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) LTTNG_TRACEPOINT_EVENT(rcu_batch_start, -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) TP_PROTO(const 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 (LINUX_VERSION_CODE >= 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 (LINUX_VERSION_CODE >= 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), -#endif TP_FIELDS( ctf_string(rcuname, rcuname) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - ctf_integer(long, qlen_lazy, qlen_lazy) -#endif ctf_integer(long, qlen, qlen) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) - ctf_integer(long, blimit, blimit) -#else ctf_integer(int, blimit, blimit) -#endif ) ) +#endif /* * Tracepoint for the invocation of a single RCU callback function.