For example,

1327.539878: f2fs_preload_pages_start: dev = (252,16), ino = 14, i_size = 
4294967296 start: 0, end: 8191
1327.539878: page_cache_sync_ra: dev=252:16 ino=e index=0 req_count=8192 
order=9 size=0 async_size=0 ra_pages=4096 mmap_miss=0 prev_pos=-1
1327.539879: page_cache_ra_order: dev=252:16 ino=e index=0 order=9 size=4096 
async_size=2048 ra_pages=4096
1327.541895: f2fs_readpages: dev = (252,16), ino = 14, start = 0 nrpage = 4096
1327.541930: f2fs_lookup_extent_tree_start: dev = (252,16), ino = 14, pgofs = 
0, type = Read
1327.541931: f2fs_lookup_read_extent_tree_end: dev = (252,16), ino = 14, pgofs 
= 0, read_ext_info(fofs: 0, len: 1048576, blk: 4221440)
1327.541931: f2fs_map_blocks: dev = (252,16), ino = 14, file offset = 0, start 
blkaddr = 0x406a00, len = 0x1000, flags = 2, seg_type = 8, may_create = 0, 
multidevice = 0, flag = 0, err = 0
1327.541989: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 0, 
nr_pages = 512, dirty = 0, uptodate = 0
1327.542012: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
512, nr_pages = 512, dirty = 0, uptodate = 0
1327.542036: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
1024, nr_pages = 512, dirty = 0, uptodate = 0
1327.542080: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
1536, nr_pages = 512, dirty = 0, uptodate = 0
1327.542127: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
2048, nr_pages = 512, dirty = 0, uptodate = 0
1327.542151: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
2560, nr_pages = 512, dirty = 0, uptodate = 0
1327.542196: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
3072, nr_pages = 512, dirty = 0, uptodate = 0
1327.542219: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
3584, nr_pages = 512, dirty = 0, uptodate = 0
1327.542239: f2fs_submit_read_bio: dev = (252,16)/(252,16), rw = READ(R), DATA, 
sector = 33771520, size = 16777216
1327.542269: page_cache_sync_ra: dev=252:16 ino=e index=4096 req_count=8192 
order=9 size=4096 async_size=2048 ra_pages=4096 mmap_miss=0 prev_pos=-1
1327.542289: page_cache_ra_order: dev=252:16 ino=e index=4096 order=9 size=4096 
async_size=2048 ra_pages=4096
1327.544485: f2fs_readpages: dev = (252,16), ino = 14, start = 4096 nrpage = 
4096
1327.544521: f2fs_lookup_extent_tree_start: dev = (252,16), ino = 14, pgofs = 
4096, type = Read
1327.544521: f2fs_lookup_read_extent_tree_end: dev = (252,16), ino = 14, pgofs 
= 4096, read_ext_info(fofs: 0, len: 1048576, blk: 4221440)
1327.544522: f2fs_map_blocks: dev = (252,16), ino = 14, file offset = 4096, 
start blkaddr = 0x407a00, len = 0x1000, flags = 2, seg_type = 8, may_create = 
0, multidevice = 0, flag = 0, err = 0
1327.544550: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
4096, nr_pages = 512, dirty = 0, uptodate = 0
1327.544575: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
4608, nr_pages = 512, dirty = 0, uptodate = 0
1327.544601: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
5120, nr_pages = 512, dirty = 0, uptodate = 0
1327.544647: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
5632, nr_pages = 512, dirty = 0, uptodate = 0
1327.544692: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
6144, nr_pages = 512, dirty = 0, uptodate = 0
1327.544734: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
6656, nr_pages = 512, dirty = 0, uptodate = 0
1327.544777: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
7168, nr_pages = 512, dirty = 0, uptodate = 0
1327.544805: f2fs_read_folio: dev = (252,16), ino = 14, DATA, FILE, index = 
7680, nr_pages = 512, dirty = 0, uptodate = 0
1327.544826: f2fs_submit_read_bio: dev = (252,16)/(252,16), rw = READ(R), DATA, 
sector = 33804288, size = 16777216
1327.544852: f2fs_preload_pages_end: dev = (252,16), ino = 14, i_size = 
4294967296 start: 8192, end: 8191

Signed-off-by: Jaegeuk Kim <[email protected]>
---
 fs/f2fs/data.c              |  1 +
 include/trace/events/f2fs.h | 12 +++++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 8f433677c49d..a0433c8a4d84 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -2521,6 +2521,7 @@ static int f2fs_read_data_large_folio(struct inode *inode,
                index++;
                offset++;
        }
+       trace_f2fs_read_folio(folio, DATA);
        if (rac) {
                folio = readahead_folio(rac);
                goto next_folio;
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h
index e00611ead024..d406b047c50b 100644
--- a/include/trace/events/f2fs.h
+++ b/include/trace/events/f2fs.h
@@ -1349,6 +1349,7 @@ DECLARE_EVENT_CLASS(f2fs__folio,
                __field(int, type)
                __field(int, dir)
                __field(pgoff_t, index)
+               __field(pgoff_t, nrpages)
                __field(int, dirty)
                __field(int, uptodate)
        ),
@@ -1359,16 +1360,18 @@ DECLARE_EVENT_CLASS(f2fs__folio,
                __entry->type   = type;
                __entry->dir    = S_ISDIR(folio->mapping->host->i_mode);
                __entry->index  = folio->index;
+               __entry->nrpages= folio_nr_pages(folio);
                __entry->dirty  = folio_test_dirty(folio);
                __entry->uptodate = folio_test_uptodate(folio);
        ),
 
-       TP_printk("dev = (%d,%d), ino = %lu, %s, %s, index = %lu, "
+       TP_printk("dev = (%d,%d), ino = %lu, %s, %s, index = %lu, nr_pages = 
%lu, "
                "dirty = %d, uptodate = %d",
                show_dev_ino(__entry),
                show_block_type(__entry->type),
                show_file_type(__entry->dir),
                (unsigned long)__entry->index,
+               (unsigned long)__entry->nrpages,
                __entry->dirty,
                __entry->uptodate)
 );
@@ -1394,6 +1397,13 @@ DEFINE_EVENT(f2fs__folio, f2fs_readpage,
        TP_ARGS(folio, type)
 );
 
+DEFINE_EVENT(f2fs__folio, f2fs_read_folio,
+
+       TP_PROTO(struct folio *folio, int type),
+
+       TP_ARGS(folio, type)
+);
+
 DEFINE_EVENT(f2fs__folio, f2fs_set_page_dirty,
 
        TP_PROTO(struct folio *folio, int type),
-- 
2.52.0.487.g5c8c507ade-goog



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to