From: "J. Bruce Fields" <bfields@fieldses.org>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: List Linux RDMA Mailing <linux-rdma@vger.kernel.org>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v2 19/19] sunrpc: Disable splice for krb5i
Date: Fri, 16 Jun 2017 14:42:08 -0400 [thread overview]
Message-ID: <20170616184208.GH12030@fieldses.org> (raw)
In-Reply-To: <D8C547C0-C361-43F4-8E5C-AF8A6C45C500@oracle.com>
On Fri, Jun 16, 2017 at 02:37:40PM -0400, Chuck Lever wrote:
>
> > On Jun 16, 2017, at 1:52 PM, bfields@fieldses.org wrote:
> >
> > Just repeating some comments from the bug:
> >
> > On Fri, Jun 16, 2017 at 11:22:54AM -0400, Chuck Lever wrote:
> >> Running a multi-threaded 8KB fio test (70/30 mix), three or four out
> >> of twelve of the jobs fail when using krb5i. The failure is an EIO
> >> on a read.
> >>
> >> Troubleshooting confirmed the EIO results when the client fails to
> >> verify the MIC of an NFS READ reply. Bruce suggested the problem
> >> could be due to the data payload changing between the time the
> >> reply's MIC was computed on the server and the time the reply was
> >> actually sent.
> >>
> >> krb5p gets around this problem by disabling RQ_SPLICE_OK.
> >
> > And you verified that this does fix the problem in your case.
>
> I've had this applied to my server for a week or so. There
> hasn't been a single recurrence of the issue.
>
>
> > So, I think it's a simple fix and probably the best we can do without a
> > lot more work, so I'm happy applying it.
> >
> > That said, I'm still curious about the performance:
> >
> >> I would say that there is not much difference in this test.
> >
> > We added an extra copy to the read path and it didn't seem to affect
> > throughput of streaming read much--I think that just says memory
> > bandwidth isn't the bottlneck in this case? Which doesn't seem too
> > surprising.
>
> With krb5i, an additional memory copy is minor compared to the
> computation needed.
>
> I'm testing with 56Gbps networking and a tmpfs export. I'm not
> exhausting the CPU on my 4-core server, even with krb5p. The
> effects could be seen in a scalability test, but I don't have
> anything that pushes my server that hard.
>
>
> > I wonder what we should be looking for--maybe running the same test but
> > also measuring CPU usage somehow.
>
> Maybe an increase in latency. But I didn't see much change, and
> the throughput numbers don't reflect any underlying increase in
> per-RPC latency.
OK! Thanks for looking into this.
--b.
WARNING: multiple messages have this Message-ID (diff)
From: "J. Bruce Fields" <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
To: Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: List Linux RDMA Mailing
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux NFS Mailing List
<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v2 19/19] sunrpc: Disable splice for krb5i
Date: Fri, 16 Jun 2017 14:42:08 -0400 [thread overview]
Message-ID: <20170616184208.GH12030@fieldses.org> (raw)
In-Reply-To: <D8C547C0-C361-43F4-8E5C-AF8A6C45C500-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
On Fri, Jun 16, 2017 at 02:37:40PM -0400, Chuck Lever wrote:
>
> > On Jun 16, 2017, at 1:52 PM, bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org wrote:
> >
> > Just repeating some comments from the bug:
> >
> > On Fri, Jun 16, 2017 at 11:22:54AM -0400, Chuck Lever wrote:
> >> Running a multi-threaded 8KB fio test (70/30 mix), three or four out
> >> of twelve of the jobs fail when using krb5i. The failure is an EIO
> >> on a read.
> >>
> >> Troubleshooting confirmed the EIO results when the client fails to
> >> verify the MIC of an NFS READ reply. Bruce suggested the problem
> >> could be due to the data payload changing between the time the
> >> reply's MIC was computed on the server and the time the reply was
> >> actually sent.
> >>
> >> krb5p gets around this problem by disabling RQ_SPLICE_OK.
> >
> > And you verified that this does fix the problem in your case.
>
> I've had this applied to my server for a week or so. There
> hasn't been a single recurrence of the issue.
>
>
> > So, I think it's a simple fix and probably the best we can do without a
> > lot more work, so I'm happy applying it.
> >
> > That said, I'm still curious about the performance:
> >
> >> I would say that there is not much difference in this test.
> >
> > We added an extra copy to the read path and it didn't seem to affect
> > throughput of streaming read much--I think that just says memory
> > bandwidth isn't the bottlneck in this case? Which doesn't seem too
> > surprising.
>
> With krb5i, an additional memory copy is minor compared to the
> computation needed.
>
> I'm testing with 56Gbps networking and a tmpfs export. I'm not
> exhausting the CPU on my 4-core server, even with krb5p. The
> effects could be seen in a scalability test, but I don't have
> anything that pushes my server that hard.
>
>
> > I wonder what we should be looking for--maybe running the same test but
> > also measuring CPU usage somehow.
>
> Maybe an increase in latency. But I didn't see much change, and
> the throughput numbers don't reflect any underlying increase in
> per-RPC latency.
OK! Thanks for looking into this.
--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-06-16 18:42 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-16 15:20 [PATCH v2 00/19] Server-side NFS/RDMA changes proposed for v4.13 Chuck Lever
2017-06-16 15:20 ` Chuck Lever
2017-06-16 15:20 ` [PATCH v2 01/19] ib_core: Enable and expose force_mr module parameter Chuck Lever
2017-06-16 15:20 ` Chuck Lever
2017-06-16 15:20 ` [PATCH v2 02/19] svcrdma: Squelch disconnection messages Chuck Lever
2017-06-16 15:20 ` Chuck Lever
2017-06-16 15:20 ` [PATCH v2 03/19] svcrdma: Avoid Send Queue overflow Chuck Lever
2017-06-16 15:20 ` Chuck Lever
2017-06-16 15:20 ` [PATCH v2 04/19] svcrdma: Remove svc_rdma_marshal.c Chuck Lever
2017-06-16 15:20 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 05/19] svcrdma: Improve Read chunk sanity checking Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 06/19] svcrdma: Improve Write " Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 07/19] svcrdma: Improve Reply " Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 08/19] svcrdma: Don't account for Receive queue "starvation" Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 09/19] sunrpc: Allocate one more page per svc_rqst Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 10/19] svcrdma: Add recvfrom helpers to svc_rdma_rw.c Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 11/19] svcrdma: Use generic RDMA R/W API in RPC Call path Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:21 ` [PATCH v2 12/19] svcrdma: Properly compute .len and .buflen for received RPC Calls Chuck Lever
2017-06-16 15:21 ` Chuck Lever
2017-06-16 15:22 ` [PATCH v2 13/19] svcrdma: Remove unused Read completion handlers Chuck Lever
2017-06-16 15:22 ` Chuck Lever
2017-06-16 15:22 ` [PATCH v2 14/19] svcrdma: Remove frmr cache Chuck Lever
2017-06-16 15:22 ` Chuck Lever
2017-06-16 15:22 ` [PATCH v2 15/19] svcrdma: Clean-up svc_rdma_unmap_dma Chuck Lever
2017-06-16 15:22 ` Chuck Lever
2017-06-16 15:22 ` [PATCH v2 16/19] svcrdma: Clean up after converting svc_rdma_recvfrom to rdma_rw API Chuck Lever
2017-06-16 15:22 ` Chuck Lever
2017-06-16 15:22 ` [PATCH v2 17/19] svcrdma: use offset_in_page() macro Chuck Lever
2017-06-16 15:22 ` Chuck Lever
2017-06-16 15:22 ` [PATCH v2 18/19] svcrdma: Remove svc_rdma_chunk_ctxt::cc_dir field Chuck Lever
2017-06-16 15:22 ` Chuck Lever
2017-06-16 15:22 ` [PATCH v2 19/19] sunrpc: Disable splice for krb5i Chuck Lever
2017-06-16 15:22 ` Chuck Lever
2017-06-16 17:52 ` J. Bruce Fields
2017-06-16 17:52 ` J. Bruce Fields
2017-06-16 18:37 ` Chuck Lever
2017-06-16 18:37 ` Chuck Lever
2017-06-16 18:42 ` J. Bruce Fields [this message]
2017-06-16 18:42 ` J. Bruce Fields
2017-06-16 18:44 ` Chuck Lever
2017-06-16 18:44 ` Chuck Lever
2017-06-17 10:01 ` Jeff Layton
2017-06-17 10:01 ` Jeff Layton
2017-06-20 19:41 ` J. Bruce Fields
2017-06-20 19:41 ` J. Bruce Fields
2017-06-17 15:07 ` Christoph Hellwig
2017-06-17 15:07 ` Christoph Hellwig
2017-06-17 17:23 ` Chuck Lever
2017-06-17 17:23 ` Chuck Lever
2017-06-18 7:34 ` Christoph Hellwig
2017-06-18 7:34 ` Christoph Hellwig
2017-06-19 15:22 ` Chuck Lever
2017-06-19 15:22 ` Chuck Lever
2017-06-19 15:30 ` Christoph Hellwig
2017-06-19 15:30 ` Christoph Hellwig
2017-06-22 17:13 ` Jeff Layton
2017-06-22 17:13 ` Jeff Layton
2017-06-20 19:24 ` J. Bruce Fields
2017-06-20 19:24 ` J. Bruce Fields
2017-06-20 19:28 ` J. Bruce Fields
2017-06-20 19:28 ` J. Bruce Fields
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=20170616184208.GH12030@fieldses.org \
--to=bfields@fieldses.org \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-rdma@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 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.