Skip to content

Commit

Permalink
NFS: Add offset to nfs_aop_readahead tracepoint
Browse files Browse the repository at this point in the history
Add the byte offset of the readahead request to the tracepoint output
so we know where the read starts.

Before this patch:
cat-8104    [002] .....   813.168775: nfs_aop_readahead: fileid=00:31:141 fhandle=0xe55807f6 version=1756509392533525500 nr_pages=256
cat-8104    [002] .....   813.174973: nfs_aop_readahead_done: fileid=00:31:141 fhandle=0xe55807f6 version=1756509392533525500 nr_pages=256 ret=0
cat-8104    [002] .....   813.175963: nfs_aop_readahead: fileid=00:31:141 fhandle=0xe55807f6 version=1756509392533525500 nr_pages=256
cat-8104    [002] .....   813.183742: nfs_aop_readahead_done: fileid=00:31:141 fhandle=0xe55807f6 version=1756509392533525500 nr_pages=1 ret=0

After this patch:
cat-6392    [001] .....    73.107782: nfs_aop_readahead: fileid=00:31:141 fhandle=0xed22403f version=1756511950029502774 offset=5242880 nr_pages=256
cat-6392    [001] .....    73.112466: nfs_aop_readahead_done: fileid=00:31:141 fhandle=0xed22403f version=1756511950029502774 nr_pages=256 ret=0
cat-6392    [001] .....    73.115692: nfs_aop_readahead: fileid=00:31:141 fhandle=0xed22403f version=1756511950029502774 offset=6291456 nr_pages=256
cat-6392    [001] .....    73.123283: nfs_aop_readahead_done: fileid=00:31:141 fhandle=0xed22403f version=1756511950029502774 nr_pages=256 ret=0

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
  • Loading branch information
Dave Wysochanski authored and Trond Myklebust committed Nov 2, 2021
1 parent cb5a967 commit edfa0b1
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
10 changes: 7 additions & 3 deletions fs/nfs/nfstrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -889,16 +889,18 @@ TRACE_EVENT(nfs_aop_readpage_done,
TRACE_EVENT(nfs_aop_readahead,
TP_PROTO(
const struct inode *inode,
struct page *page,
unsigned int nr_pages
),

TP_ARGS(inode, nr_pages),
TP_ARGS(inode, page, nr_pages),

TP_STRUCT__entry(
__field(dev_t, dev)
__field(u32, fhandle)
__field(u64, fileid)
__field(u64, version)
__field(loff_t, offset)
__field(unsigned int, nr_pages)
),

Expand All @@ -909,15 +911,16 @@ TRACE_EVENT(nfs_aop_readahead,
__entry->fileid = nfsi->fileid;
__entry->fhandle = nfs_fhandle_hash(&nfsi->fh);
__entry->version = inode_peek_iversion_raw(inode);
__entry->offset = page_index(page) << PAGE_SHIFT;
__entry->nr_pages = nr_pages;
),

TP_printk(
"fileid=%02x:%02x:%llu fhandle=0x%08x version=%llu nr_pages=%u",
"fileid=%02x:%02x:%llu fhandle=0x%08x version=%llu offset=%lld nr_pages=%u",
MAJOR(__entry->dev), MINOR(__entry->dev),
(unsigned long long)__entry->fileid,
__entry->fhandle, __entry->version,
__entry->nr_pages
__entry->offset, __entry->nr_pages
)
);

Expand All @@ -936,6 +939,7 @@ TRACE_EVENT(nfs_aop_readahead_done,
__field(int, ret)
__field(u64, fileid)
__field(u64, version)
__field(loff_t, offset)
__field(unsigned int, nr_pages)
),

Expand Down
2 changes: 1 addition & 1 deletion fs/nfs/read.c
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ int nfs_readpages(struct file *file, struct address_space *mapping,
struct inode *inode = mapping->host;
int ret;

trace_nfs_aop_readahead(inode, nr_pages);
trace_nfs_aop_readahead(inode, lru_to_page(pages), nr_pages);
nfs_inc_stats(inode, NFSIOS_VFSREADPAGES);

ret = -ESTALE;
Expand Down

0 comments on commit edfa0b1

Please sign in to comment.