All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Wysochanski <dwysocha@redhat.com>
To: Trond Myklebust <trondmy@hammerspace.com>,
	Anna Schumaker <anna.schumaker@netapp.com>
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH 10/11] NFS: Add page_index to nfs_readdir enter and exit tracepoints
Date: Mon,  2 Nov 2020 08:50:10 -0500	[thread overview]
Message-ID: <1604325011-29427-11-git-send-email-dwysocha@redhat.com> (raw)
In-Reply-To: <1604325011-29427-1-git-send-email-dwysocha@redhat.com>

Add nfs_open_dir_context.page_index to enter and exit tracepoints
since this affects searching the cache.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
---
 fs/nfs/dir.c      |  2 ++
 fs/nfs/nfstrace.h | 22 ++++++++++++++--------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index b266f505b521..cbd74cbdbb9f 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -894,6 +894,7 @@ static int nfs_readdir(struct file *file, struct dir_context *ctx)
 
 	nfs_inc_stats(inode, NFSIOS_VFSGETDENTS);
 	trace_nfs_readdir_enter(inode, ctx->pos, dir_ctx->dir_cookie,
+				dir_ctx->page_index,
 				NFS_SERVER(inode)->dtsize, my_desc.plus);
 
 	/*
@@ -943,6 +944,7 @@ static int nfs_readdir(struct file *file, struct dir_context *ctx)
 		res = 0;
 	dir_ctx->page_index = desc->page_index;
 	trace_nfs_readdir_exit(inode, ctx->pos, dir_ctx->dir_cookie,
+			       dir_ctx->page_index,
 			       NFS_SERVER(inode)->dtsize, my_desc.plus, res);
 	return res;
 }
diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h
index 06b301da85a2..12869b0c3f70 100644
--- a/fs/nfs/nfstrace.h
+++ b/fs/nfs/nfstrace.h
@@ -754,11 +754,12 @@
 			const struct inode *inode,
 			u64 cookie,
 			u64 dir_cookie,
+			unsigned long page_index,
 			unsigned int count,
 			bool plus
 		),
 
-		TP_ARGS(inode, cookie, dir_cookie, count, plus),
+		TP_ARGS(inode, cookie, dir_cookie, page_index, count, plus),
 
 		TP_STRUCT__entry(
 			__field(dev_t, dev)
@@ -766,6 +767,7 @@
 			__field(u64, fileid)
 			__field(u64, cookie)
 			__field(u64, dir_cookie)
+			__field(unsigned long, page_index)
 			__field(u64, count)
 			__field(bool, plus)
 		),
@@ -776,15 +778,16 @@
 			__entry->fhandle = nfs_fhandle_hash(NFS_FH(inode));
 			__entry->cookie = cookie;
 			__entry->dir_cookie = dir_cookie;
+			__entry->page_index = page_index;
 			__entry->count = count;
 			__entry->plus = plus;
 		),
 
 		TP_printk(
-			"fileid=%02x:%02x:%llu fhandle=0x%08x cookie=0x%08llx dir_cookie=0x%08llx count=%llu plus=%s",
+			"fileid=%02x:%02x:%llu fhandle=0x%08x cookie=0x%08llx dir_cookie=0x%08llx page_index=0x%08lx count=%llu plus=%s",
 			MAJOR(__entry->dev), MINOR(__entry->dev),
-			(unsigned long long)__entry->fileid,
-			__entry->fhandle, __entry->cookie, __entry->dir_cookie,
+			(unsigned long long)__entry->fileid, __entry->fhandle,
+			__entry->cookie, __entry->dir_cookie, __entry->page_index,
 			__entry->count, __entry->plus ? "true" : "false"
 		)
 );
@@ -794,12 +797,13 @@
 			const struct inode *inode,
 			u64 cookie,
 			u64 dir_cookie,
+			unsigned long page_index,
 			unsigned int count,
 			bool plus,
 			int error
 		),
 
-		TP_ARGS(inode, cookie, dir_cookie, count, plus, error),
+		TP_ARGS(inode, cookie, dir_cookie, page_index, count, plus, error),
 
 		TP_STRUCT__entry(
 			__field(dev_t, dev)
@@ -808,6 +812,7 @@
 			__field(unsigned long, error)
 			__field(u64, cookie)
 			__field(u64, dir_cookie)
+			__field(unsigned long, page_index)
 			__field(u64, count)
 			__field(bool, plus)
 		),
@@ -819,16 +824,17 @@
 			__entry->error = error;
 			__entry->cookie = cookie;
 			__entry->dir_cookie = dir_cookie;
+			__entry->page_index = page_index;
 			__entry->count = count;
 			__entry->plus = plus;
 		),
 
 		TP_printk(
-			"error=%ld fileid=%02x:%02x:%llu fhandle=0x%08x cookie=0x%08llx dir_cookie=0x%08llx count=%llu plus=%s",
+			"error=%ld fileid=%02x:%02x:%llu fhandle=0x%08x cookie=0x%08llx dir_cookie=0x%08llx page_index=0x%08lx count=%llu plus=%s",
 			__entry->error,
 			MAJOR(__entry->dev), MINOR(__entry->dev),
-			(unsigned long long)__entry->fileid,
-			__entry->fhandle, __entry->cookie, __entry->dir_cookie,
+			(unsigned long long)__entry->fileid, __entry->fhandle,
+			__entry->cookie, __entry->dir_cookie, __entry->page_index,
 			__entry->count, __entry->plus ? "true" : "false"
 		)
 );
-- 
1.8.3.1


  parent reply	other threads:[~2020-11-02 13:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-02 13:50 [PATCH 00/11] Add NFS readdir tracepoints and improve performance of reading directories Dave Wysochanski
2020-11-02 13:50 ` [PATCH 01/11] NFSv4: Improve nfs4_readdir tracepoint by adding additional fields Dave Wysochanski
2020-11-02 13:50 ` [PATCH 02/11] NFS: Replace dfprintk statements with trace events in nfs_readdir Dave Wysochanski
2020-11-02 13:50 ` [PATCH 03/11] NFS: Move nfs_readdir_descriptor_t into internal header Dave Wysochanski
2020-11-02 13:50 ` [PATCH 04/11] NFS: Add tracepoints for functions involving nfs_readdir_descriptor_t Dave Wysochanski
2020-11-02 17:32   ` kernel test robot
2020-11-02 17:32     ` kernel test robot
2020-11-02 13:50 ` [PATCH 05/11] NFS: Add tracepoints for opendir, closedir, fsync_dir and llseek_dir Dave Wysochanski
2020-11-02 13:50 ` [PATCH 06/11] NFS: Add tracepoints for nfs_readdir_xdr_filler enter and exit Dave Wysochanski
2020-11-02 13:50 ` [PATCH 07/11] NFS: Add tracepoint to entry and exit of nfs_do_filldir Dave Wysochanski
2020-11-02 13:50 ` [PATCH 08/11] NFS: Replace LOOKUPCACHE dfprintk statements with tracepoints Dave Wysochanski
2020-11-02 13:50 ` [PATCH 09/11] NFS: Improve performance of listing directories being modified Dave Wysochanski
2020-11-02 16:21   ` Trond Myklebust
2020-11-02 16:26     ` David Wysochanski
2020-11-02 17:31       ` Trond Myklebust
2020-11-02 19:45         ` David Wysochanski
2020-11-02 21:30           ` Trond Myklebust
2020-11-02 22:05             ` David Wysochanski
2020-11-03  3:38               ` Trond Myklebust
2020-11-03 13:29                 ` David Wysochanski
2020-11-03  0:09           ` Frank van der Linden
2020-11-03 17:49             ` David Wysochanski
2020-11-02 13:50 ` Dave Wysochanski [this message]
2020-11-02 13:50 ` [PATCH 11/11] NFS: Bring back nfs_dir_mapping_need_revalidate() in nfs_readdir() Dave Wysochanski
2020-11-02 15:38   ` Mkrtchyan, Tigran
2020-11-02 16:16     ` David Wysochanski
2020-11-02 14:27 ` [PATCH 00/11] Add NFS readdir tracepoints and improve performance of reading directories Chuck Lever
2020-11-02 15:07   ` David Wysochanski
2020-11-02 15:13     ` Chuck Lever
2020-11-02 15:58 ` Mkrtchyan, Tigran

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1604325011-29427-11-git-send-email-dwysocha@redhat.com \
    --to=dwysocha@redhat.com \
    --cc=anna.schumaker@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trondmy@hammerspace.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.