From: Michael Jeanson Date: Thu, 2 Apr 2020 18:06:17 +0000 (-0400) Subject: fix: rcu instrumentation for CentOS >= 4.18.0-80 X-Git-Tag: before-upstreaming~7 X-Git-Url: http://git.liburcu.org/?p=lttng-modules.git;a=commitdiff_plain;h=aa2608d11cfbd2be4ec5043e30f134f6786b3511 fix: rcu instrumentation for CentOS >= 4.18.0-80 Fixes: #1253 Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers Change-Id: I1735d2caa7215ce94272aaaa98cbbc8f3a10743d --- diff --git a/instrumentation/events/lttng-module/rcu.h b/instrumentation/events/lttng-module/rcu.h index 6bb941f9..6a0b58d1 100644 --- a/instrumentation/events/lttng-module/rcu.h +++ b/instrumentation/events/lttng-module/rcu.h @@ -50,7 +50,8 @@ LTTNG_TRACEPOINT_EVENT(rcu_utilization, * and "cpuofl", respectively), and a CPU being kicked for being too * long in dyntick-idle mode ("kick"). */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT(rcu_grace_period, TP_PROTO(const char *rcuname, unsigned long gp_seq, const char *gpevent), @@ -98,7 +99,8 @@ LTTNG_TRACEPOINT_EVENT(rcu_grace_period, * rcu_node structure, and the mask of CPUs that will be waited for. * All but the type of RCU are extracted from the rcu_node structure. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT(rcu_grace_period_init, TP_PROTO(const char *rcuname, unsigned long gp_seq, u8 level, @@ -157,7 +159,8 @@ LTTNG_TRACEPOINT_EVENT(rcu_grace_period_init, * include SRCU), the grace-period number that the task is blocking * (the current or the next), and the task's PID. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT(rcu_preempt_task, TP_PROTO(const char *rcuname, int pid, unsigned long gp_seq), @@ -203,7 +206,8 @@ LTTNG_TRACEPOINT_EVENT(rcu_preempt_task, * read-side critical section exiting that critical section. Track the * type of RCU (which one day might include SRCU) and the task's PID. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT(rcu_unlock_preempted_task, TP_PROTO(const char *rcuname, unsigned long gp_seq, int pid), @@ -252,7 +256,8 @@ LTTNG_TRACEPOINT_EVENT(rcu_unlock_preempted_task, * whether there are any blocked tasks blocking the current grace period. * All but the type of RCU are extracted from the rcu_node structure. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT(rcu_quiescent_state_report, TP_PROTO(const char *rcuname, unsigned long gp_seq, @@ -322,7 +327,8 @@ LTTNG_TRACEPOINT_EVENT(rcu_quiescent_state_report, * or "kick" when kicking a CPU that has been in dyntick-idle mode for * too long. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT(rcu_fqs, TP_PROTO(const char *rcuname, unsigned long gp_seq, int cpu, const char *qsevent), @@ -889,7 +895,8 @@ LTTNG_TRACEPOINT_EVENT(rcu_barrier, #else /* #ifdef CONFIG_RCU_TRACE */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0)) #define trace_rcu_grace_period(rcuname, gp_seq, gpevent) do { } while (0) #define trace_rcu_grace_period_init(rcuname, gp_seq, level, grplo, grphi, \ qsmask) do { } while (0)