fix: writeback: Fix sync livelock due to b_dirty_time processing (v5.9)
[lttng-modules.git] / instrumentation / events / lttng-module / writeback.h
index ece67ad5d86866029dc0c9f7453438be080476ff..e9018dd707457a509defc173d9a64693fa3d6700 100644 (file)
@@ -384,34 +384,48 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc
 #endif
 LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
+       TP_PROTO(struct bdi_writeback *wb,
+                struct wb_writeback_work *work,
+                unsigned long dirtied_before,
+                int moved),
+       TP_ARGS(wb, work, dirtied_before, moved),
+       TP_FIELDS(
+               ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
+               ctf_integer(unsigned long, older, dirtied_before)
+               ctf_integer(int, moved, moved)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
 LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
        TP_PROTO(struct bdi_writeback *wb,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
                 struct wb_writeback_work *work,
-#else
-                unsigned long *older_than_this,
-#endif
                 int moved),
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
        TP_ARGS(wb, work, moved),
-#else
+       TP_FIELDS(
+               ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
+               ctf_integer(int, moved, moved)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
+       TP_PROTO(struct bdi_writeback *wb,
+                unsigned long *older_than_this,
+                int moved),
        TP_ARGS(wb, older_than_this, moved),
-#endif
        TP_FIELDS(
                ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
-#else
                ctf_integer(unsigned long, older,
                        older_than_this ? *older_than_this : 0)
                ctf_integer(long, age,
                        older_than_this ?
                                (jiffies - *older_than_this) * 1000 / HZ
                                : -1)
-#endif
                ctf_integer(int, moved, moved)
        )
 )
+#endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0))
 LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
@@ -460,7 +474,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
                ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
        )
 )
-#else
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
 LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
 
        writeback_global_dirty_state,
@@ -485,7 +499,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
        )
 )
 #endif
-#endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
 
This page took 0.025074 seconds and 4 git commands to generate.