X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Finstrumentation%2Fevents%2Fwriteback.h;h=273e4dc420ba51370017e5841a50dd0bebb131e7;hb=b6af46d166c48c9e59600a60b5a2a7ead10f179a;hp=9de03eef8189985d620f6f824caf4d31d7565419;hpb=0b1facd407285855c896753ac869a7e6bc764ccb;p=lttng-modules.git diff --git a/include/instrumentation/events/writeback.h b/include/instrumentation/events/writeback.h index 9de03eef..273e4dc4 100644 --- a/include/instrumentation/events/writeback.h +++ b/include/instrumentation/events/writeback.h @@ -46,7 +46,21 @@ static inline struct backing_dev_info *lttng_inode_to_bdi(struct inode *inode) #endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) +#define show_inode_state(state) \ + __print_flags(state, "|", \ + {I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \ + {I_DIRTY_DATASYNC, "I_DIRTY_DATASYNC"}, \ + {I_DIRTY_PAGES, "I_DIRTY_PAGES"}, \ + {I_NEW, "I_NEW"}, \ + {I_WILL_FREE, "I_WILL_FREE"}, \ + {I_FREEING, "I_FREEING"}, \ + {I_CLEAR, "I_CLEAR"}, \ + {I_SYNC, "I_SYNC"}, \ + {I_DIRTY_TIME, "I_DIRTY_TIME"}, \ + {I_REFERENCED, "I_REFERENCED"} \ + ) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) #define show_inode_state(state) \ __print_flags(state, "|", \ {I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \ @@ -370,34 +384,54 @@ 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_KERNEL_RANGE(5,8,6, 5,9,0) || \ + LTTNG_KERNEL_RANGE(5,4,62, 5,5,0) || \ + LTTNG_KERNEL_RANGE(4,19,143, 4,20,0) || \ + LTTNG_KERNEL_RANGE(4,14,196, 4,15,0) || \ + LTTNG_KERNEL_RANGE(4,9,235, 4,10,0) || \ + LTTNG_KERNEL_RANGE(4,4,235, 4,5,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, @@ -446,7 +480,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, @@ -471,7 +505,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state, ) ) #endif -#endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))