iomap: Remove pgoff from tracepoints
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 5 Mar 2020 15:21:43 +0000 (07:21 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Thu, 5 Mar 2020 15:30:54 +0000 (07:30 -0800)
The 'pgoff' displayed by the tracepoints wasn't a pgoff at all; it
was a byte offset from the start of the file.  We already emit that in
the form of the 'offset', so we can just remove pgoff.  That means we
can remove 'page' as an argument to the tracepoint, and rename this
type of tracepoint from being a page class to being a range class.

Fixes: 0b1b213fcf3a ("xfs: event tracing support")
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/iomap/buffered-io.c
fs/iomap/trace.h

index 7c84c4c027c4943e987aa30f6760116b27edc751..f080f542911b2fc0205d56911a345ebde390606d 100644 (file)
@@ -503,7 +503,8 @@ EXPORT_SYMBOL_GPL(iomap_is_partially_uptodate);
 int
 iomap_releasepage(struct page *page, gfp_t gfp_mask)
 {
-       trace_iomap_releasepage(page->mapping->host, page, 0, 0);
+       trace_iomap_releasepage(page->mapping->host, page_offset(page),
+                       PAGE_SIZE);
 
        /*
         * mm accommodates an old ext3 case where clean pages might not have had
@@ -520,7 +521,7 @@ EXPORT_SYMBOL_GPL(iomap_releasepage);
 void
 iomap_invalidatepage(struct page *page, unsigned int offset, unsigned int len)
 {
-       trace_iomap_invalidatepage(page->mapping->host, page, offset, len);
+       trace_iomap_invalidatepage(page->mapping->host, offset, len);
 
        /*
         * If we are invalidating the entire page, clear the dirty state from it
@@ -1519,7 +1520,7 @@ iomap_do_writepage(struct page *page, struct writeback_control *wbc, void *data)
        u64 end_offset;
        loff_t offset;
 
-       trace_iomap_writepage(inode, page, 0, 0);
+       trace_iomap_writepage(inode, page_offset(page), PAGE_SIZE);
 
        /*
         * Refuse to write the page out if we are called from reclaim context.
index 6dc227b8c47ecc9d1dd60d46f4ead59fa34d8b84..4df19c66f597734b0e816b227f597731646f8e9d 100644 (file)
@@ -41,14 +41,12 @@ DEFINE_EVENT(iomap_readpage_class, name,    \
 DEFINE_READPAGE_EVENT(iomap_readpage);
 DEFINE_READPAGE_EVENT(iomap_readpages);
 
-DECLARE_EVENT_CLASS(iomap_page_class,
-       TP_PROTO(struct inode *inode, struct page *page, unsigned long off,
-                unsigned int len),
-       TP_ARGS(inode, page, off, len),
+DECLARE_EVENT_CLASS(iomap_range_class,
+       TP_PROTO(struct inode *inode, unsigned long off, unsigned int len),
+       TP_ARGS(inode, off, len),
        TP_STRUCT__entry(
                __field(dev_t, dev)
                __field(u64, ino)
-               __field(pgoff_t, pgoff)
                __field(loff_t, size)
                __field(unsigned long, offset)
                __field(unsigned int, length)
@@ -56,29 +54,26 @@ DECLARE_EVENT_CLASS(iomap_page_class,
        TP_fast_assign(
                __entry->dev = inode->i_sb->s_dev;
                __entry->ino = inode->i_ino;
-               __entry->pgoff = page_offset(page);
                __entry->size = i_size_read(inode);
                __entry->offset = off;
                __entry->length = len;
        ),
-       TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %lx "
+       TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset %lx "
                  "length %x",
                  MAJOR(__entry->dev), MINOR(__entry->dev),
                  __entry->ino,
-                 __entry->pgoff,
                  __entry->size,
                  __entry->offset,
                  __entry->length)
 )
 
-#define DEFINE_PAGE_EVENT(name)                \
-DEFINE_EVENT(iomap_page_class, name,   \
-       TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
-                unsigned int len),     \
-       TP_ARGS(inode, page, off, len))
-DEFINE_PAGE_EVENT(iomap_writepage);
-DEFINE_PAGE_EVENT(iomap_releasepage);
-DEFINE_PAGE_EVENT(iomap_invalidatepage);
+#define DEFINE_RANGE_EVENT(name)               \
+DEFINE_EVENT(iomap_range_class, name,  \
+       TP_PROTO(struct inode *inode, unsigned long off, unsigned int len),\
+       TP_ARGS(inode, off, len))
+DEFINE_RANGE_EVENT(iomap_writepage);
+DEFINE_RANGE_EVENT(iomap_releasepage);
+DEFINE_RANGE_EVENT(iomap_invalidatepage);
 
 #define IOMAP_TYPE_STRINGS \
        { IOMAP_HOLE,           "HOLE" }, \