Fix: kmem instrumentation update for mm_page_alloc_extfrag kernel 3.19.2+
[lttng-modules.git] / instrumentation / events / lttng-module / ext4.h
index 166a794c58b2952ffaff141d772fde4b8f2a03da..322c3405bb2ab1ff8e3e7acace16511c1f7cb340 100644 (file)
@@ -498,6 +498,37 @@ TRACE_EVENT(ext4_da_write_pages,
 
 #endif
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+
+TRACE_EVENT(ext4_da_write_pages_extent,
+       TP_PROTO(struct inode *inode, struct ext4_map_blocks *map),
+
+       TP_ARGS(inode, map),
+
+       TP_STRUCT__entry(
+               __field(        dev_t,  dev                     )
+               __field(        ino_t,  ino                     )
+               __field(        __u64,  lblk                    )
+               __field(        __u32,  len                     )
+               __field(        __u32,  flags                   )
+       ),
+
+       TP_fast_assign(
+               tp_assign(dev, inode->i_sb->s_dev)
+               tp_assign(ino, inode->i_ino)
+               tp_assign(lblk, map->m_lblk)
+               tp_assign(len, map->m_len)
+               tp_assign(flags, map->m_flags)
+       ),
+
+       TP_printk("dev %d,%d ino %lu lblk %llu len %u flags %s",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 (unsigned long) __entry->ino, __entry->lblk, __entry->len,
+                 show_mflags(__entry->flags))
+)
+
+#endif
+
 TRACE_EVENT(ext4_da_writepages_result,
        TP_PROTO(struct inode *inode, struct writeback_control *wbc,
                        int ret, int pages_written),
@@ -1667,6 +1698,88 @@ TRACE_EVENT(ext4_direct_IO_exit,
                  __entry->rw, __entry->ret)
 )
 
+TRACE_EVENT(ext4_fallocate_exit,
+       TP_PROTO(struct inode *inode, loff_t offset,
+                unsigned int max_blocks, int ret),
+
+       TP_ARGS(inode, offset, max_blocks, ret),
+
+       TP_STRUCT__entry(
+               __field(        dev_t,  dev                     )
+               __field(        ino_t,  ino                     )
+               __field(        loff_t, pos                     )
+               __field(        unsigned int,   blocks          )
+               __field(        int,    ret                     )
+       ),
+
+       TP_fast_assign(
+               tp_assign(dev, inode->i_sb->s_dev)
+               tp_assign(ino, inode->i_ino)
+               tp_assign(pos, offset)
+               tp_assign(blocks, max_blocks)
+               tp_assign(ret, ret)
+       ),
+
+       TP_printk("dev %d,%d ino %lu pos %lld blocks %u ret %d",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 (unsigned long) __entry->ino,
+                 __entry->pos, __entry->blocks,
+                 __entry->ret)
+)
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0))
+
+DECLARE_EVENT_CLASS(ext4__fallocate_mode,
+       TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
+
+       TP_ARGS(inode, offset, len, mode),
+
+       TP_STRUCT__entry(
+               __field(        dev_t,  dev                     )
+               __field(        ino_t,  ino                     )
+               __field(        loff_t, offset                  )
+               __field(        loff_t, len                     )
+               __field(        int,    mode                    )
+       ),
+
+       TP_fast_assign(
+               tp_assign(dev, inode->i_sb->s_dev)
+               tp_assign(ino, inode->i_ino)
+               tp_assign(offset, offset)
+               tp_assign(len, len)
+               tp_assign(mode, mode)
+       ),
+
+       TP_printk("dev %d,%d ino %lu offset %lld len %lld mode %s",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 (unsigned long) __entry->ino,
+                 __entry->offset, __entry->len,
+                 show_falloc_mode(__entry->mode))
+)
+
+DEFINE_EVENT(ext4__fallocate_mode, ext4_fallocate_enter,
+
+       TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
+
+       TP_ARGS(inode, offset, len, mode)
+)
+
+DEFINE_EVENT(ext4__fallocate_mode, ext4_punch_hole,
+
+       TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
+
+       TP_ARGS(inode, offset, len, mode)
+)
+
+DEFINE_EVENT(ext4__fallocate_mode, ext4_zero_range,
+
+       TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
+
+       TP_ARGS(inode, offset, len, mode)
+)
+
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)) */
+
 TRACE_EVENT(ext4_fallocate_enter,
        TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
 
@@ -1694,35 +1807,37 @@ TRACE_EVENT(ext4_fallocate_enter,
                  __entry->len, __entry->mode)
 )
 
-TRACE_EVENT(ext4_fallocate_exit,
-       TP_PROTO(struct inode *inode, loff_t offset,
-                unsigned int max_blocks, int ret),
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
 
-       TP_ARGS(inode, offset, max_blocks, ret),
+TRACE_EVENT(ext4_punch_hole,
+       TP_PROTO(struct inode *inode, loff_t offset, loff_t len),
+
+       TP_ARGS(inode, offset, len),
 
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
-               __field(        loff_t, pos                     )
-               __field(        unsigned int,   blocks          )
-               __field(        int,    ret                     )
+               __field(        loff_t, offset                  )
+               __field(        loff_t, len                     )
        ),
 
        TP_fast_assign(
                tp_assign(dev, inode->i_sb->s_dev)
                tp_assign(ino, inode->i_ino)
-               tp_assign(pos, offset)
-               tp_assign(blocks, max_blocks)
-               tp_assign(ret, ret)
+               tp_assign(offset, offset)
+               tp_assign(len, len)
        ),
 
-       TP_printk("dev %d,%d ino %lu pos %lld blocks %u ret %d",
+       TP_printk("dev %d,%d ino %lu offset %lld len %lld",
                  MAJOR(__entry->dev), MINOR(__entry->dev),
                  (unsigned long) __entry->ino,
-                 __entry->pos, __entry->blocks,
-                 __entry->ret)
+                 __entry->offset, __entry->len)
 )
 
+#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */
+
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)) */
+
 TRACE_EVENT(ext4_unlink_enter,
        TP_PROTO(struct inode *parent, struct dentry *dentry),
 
@@ -2809,7 +2924,51 @@ TRACE_EVENT(ext4_ext_remove_space_done,
 
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+
+DECLARE_EVENT_CLASS(ext4__es_extent,
+       TP_PROTO(struct inode *inode, struct extent_status *es),
+
+       TP_ARGS(inode, es),
+
+       TP_STRUCT__entry(
+               __field(        dev_t,          dev             )
+               __field(        ino_t,          ino             )
+               __field(        ext4_lblk_t,    lblk            )
+               __field(        ext4_lblk_t,    len             )
+               __field(        ext4_fsblk_t,   pblk            )
+               __field(        char, status    )
+       ),
+
+       TP_fast_assign(
+               tp_assign(dev, inode->i_sb->s_dev)
+               tp_assign(ino, inode->i_ino)
+               tp_assign(lblk, es->es_lblk)
+               tp_assign(len, es->es_len)
+               tp_assign(pblk, ext4_es_pblock(es))
+               tp_assign(status, ext4_es_status(es))
+       ),
+
+       TP_printk("dev %d,%d ino %lu es [%u/%u) mapped %llu status %s",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 (unsigned long) __entry->ino,
+                 __entry->lblk, __entry->len,
+                 __entry->pblk, show_extent_status(__entry->status))
+)
+
+DEFINE_EVENT(ext4__es_extent, ext4_es_insert_extent,
+       TP_PROTO(struct inode *inode, struct extent_status *es),
+
+       TP_ARGS(inode, es)
+)
+
+DEFINE_EVENT(ext4__es_extent, ext4_es_cache_extent,
+       TP_PROTO(struct inode *inode, struct extent_status *es),
+
+       TP_ARGS(inode, es)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
 
 TRACE_EVENT(ext4_es_insert_extent,
        TP_PROTO(struct inode *inode, struct extent_status *es),
This page took 0.025312 seconds and 4 git commands to generate.