From: bfields@fieldses.org (J. Bruce Fields)
To: Anna Schumaker <Anna.Schumaker@netapp.com>
Cc: Trond.Myklebust@primarydata.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH v3 0/5] NFS: Add READ_PLUS support
Date: Tue, 17 Mar 2015 15:08:44 -0400 [thread overview]
Message-ID: <20150317190844.GA29843@fieldses.org> (raw)
In-Reply-To: <1426540666-31896-1-git-send-email-Anna.Schumaker@Netapp.com>
On Mon, Mar 16, 2015 at 05:17:41PM -0400, Anna Schumaker wrote:
> These patches add client support for the NFS v4.2 operation READ_PLUS. This
> operation is triggered by doing any kind of read on a NFS v4.2 mounted
> filesystem. `
>
> I tested these patches using xfstests and compared the runtime between NFS
> v4.1, NFS v4.2 without READ_PLUS, and NFS v4.2 with READ_PLUS. Here are
> the results:
These are interesting but don't tell us much on their own. As far as I
know xfstests isn't really intended to be used for performance
comparisons, and there are some mysteries here:
> Test | v4.1 | no READ_PLUS | READ_PLUS
> ---------------------------------------------------
> generic/013 | 135s | 143s | 123s
This is an fsstress run. Looking quickly at ltp/fsstress.c, I see it
can do fallocate calls, so presumably that explains the difference.
> generic/075 | 4s | 11s | 4s
Ditto for fsx.
> generic/091 | 9s | 16s | 15s
> generic/112 | 4s | 7s | 6s
> generic/127 | 62s | 117s | 114s
fsx again; this one must really have a ton of fallocate calls? Might be
interesting to look at strace or /proc/self/mountstats to confirm that.
> generic/213 | [not run] | 1s | 1s
> generic/214 | [not run] | 0s | 0s
> generic/228 | [not run] | 1s | 2s
> generic/236 | 1s | 1s | 1s
> generic/263 | 4s | 6s | 8s
> generic/285 | 0s | 1s | 3s
> generic/315 | [not run] | 2s | 1s
> ---------------------------------------------------
> Total | 3:47.47 | 5:11.85 | 4:43.77
I'm already inclined to believe that the bandwidth savings are more
important than zero-copy in the bad cases. And the xfstests timings
count for something. But I'd still rather see more of an argument.
It'd be interesting to see the best possible case (reading a large file
that's all one hole), and the worst (reading a file with alternating 4K
data and holes?).
--b.
>
>
> Using the READ_PLUS operation does have an impact on reading sparse
> files over the network. There is still a big difference between v4.1
> and v4.2 runtimes, but this looks to be a result of fallocate() tests
> that only run over v4.2.
>
>
> Changes since v2:
> - Merge together patches adding DATA and HOLE segment support.
> - Simplify hole zeroing code by using the zero_user_segment() function.
>
> These patches and the corresponding server changes are available in the
> [read_plus] branch of
>
> git://git.linux-nfs.org/projects/anna/linux-nfs.git
>
> Questions? Comments? Thoughts?
>
> Anna
>
>
> Anna Schumaker (5):
> SUNRPC: Split out a function for setting current page
> SUNRPC: Add the ability to expand holes in data pages
> NFS: Add basic READ_PLUS support
> SUNRPC: Add the ability to shift data to a specific offset
> NFS: Add support for decoding multiple segments
>
> fs/nfs/nfs42xdr.c | 162 ++++++++++++++++++++++++++++++
> fs/nfs/nfs4proc.c | 30 +++++-
> fs/nfs/nfs4xdr.c | 1 +
> include/linux/nfs4.h | 1 +
> include/linux/nfs_fs_sb.h | 1 +
> include/linux/nfs_xdr.h | 2 +-
> include/linux/sunrpc/xdr.h | 2 +
> net/sunrpc/xdr.c | 240 ++++++++++++++++++++++++++++++++++++++++++++-
> 8 files changed, 434 insertions(+), 5 deletions(-)
>
> --
> 2.3.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-03-17 19:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-16 21:17 [PATCH v3 0/5] NFS: Add READ_PLUS support Anna Schumaker
2015-03-16 21:17 ` [PATCH v3 1/5] SUNRPC: Split out a function for setting current page Anna Schumaker
2015-03-16 21:17 ` [PATCH v3 2/5] SUNRPC: Add the ability to expand holes in data pages Anna Schumaker
2015-03-16 21:17 ` [PATCH v3 3/5] NFS: Add basic READ_PLUS support Anna Schumaker
2015-03-17 19:14 ` J. Bruce Fields
2015-03-16 21:17 ` [PATCH v3 4/5] SUNRPC: Add the ability to shift data to a specific offset Anna Schumaker
2015-03-16 21:17 ` [PATCH v3 5/5] NFS: Add support for decoding multiple segments Anna Schumaker
2015-03-17 10:31 ` [PATCH v3 0/5] NFS: Add READ_PLUS support Christoph Hellwig
2015-03-17 12:30 ` Anna Schumaker
2015-03-17 19:08 ` J. Bruce Fields [this message]
2015-03-17 19:16 ` Anna Schumaker
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=20150317190844.GA29843@fieldses.org \
--to=bfields@fieldses.org \
--cc=Anna.Schumaker@netapp.com \
--cc=Trond.Myklebust@primarydata.com \
--cc=linux-nfs@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).