From: Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH v2 19/19] sunrpc: Disable splice for krb5i
Date: Fri, 16 Jun 2017 11:22:54 -0400 [thread overview]
Message-ID: <20170616152254.14210.48071.stgit@klimt.1015granger.net> (raw)
In-Reply-To: <20170616151535.14210.34926.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
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.
"iozone -i0 -i1 -s128m -y1k -az -I", export is tmpfs, mount is
sec=krb5i,vers=3,proto=rdma. The important numbers are the
read / reread column.
Here's without the RQ_SPLICE_OK patch:
kB reclen write rewrite read reread
131072 1 7546 7929 8396 8267
131072 2 14375 14600 15843 15639
131072 4 19280 19248 21303 21410
131072 8 32350 31772 35199 34883
131072 16 36748 37477 49365 51706
131072 32 55669 56059 57475 57389
131072 64 74599 75190 74903 75550
131072 128 99810 101446 102828 102724
131072 256 122042 122612 124806 125026
131072 512 137614 138004 141412 141267
131072 1024 146601 148774 151356 151409
131072 2048 180684 181727 293140 292840
131072 4096 206907 207658 552964 549029
131072 8192 223982 224360 454493 473469
131072 16384 228927 228390 654734 632607
And here's with it:
kB reclen write rewrite read reread
131072 1 7700 7365 7958 8011
131072 2 13211 13303 14937 14414
131072 4 19001 19265 20544 20657
131072 8 30883 31097 34255 33566
131072 16 36868 34908 51499 49944
131072 32 56428 55535 58710 56952
131072 64 73507 74676 75619 74378
131072 128 100324 101442 103276 102736
131072 256 122517 122995 124639 124150
131072 512 137317 139007 140530 140830
131072 1024 146807 148923 151246 151072
131072 2048 179656 180732 292631 292034
131072 4096 206216 208583 543355 541951
131072 8192 223738 224273 494201 489372
131072 16384 229313 229840 691719 668427
I would say that there is not much difference in this test.
For good measure, here's the same test with sec=krb5p:
kB reclen write rewrite read reread
131072 1 5982 5881 6137 6218
131072 2 10216 10252 10850 10932
131072 4 12236 12575 15375 15526
131072 8 15461 15462 23821 22351
131072 16 25677 25811 27529 27640
131072 32 31903 32354 34063 33857
131072 64 42989 43188 45635 45561
131072 128 52848 53210 56144 56141
131072 256 59123 59214 62691 62933
131072 512 63140 63277 66887 67025
131072 1024 65255 65299 69213 69140
131072 2048 76454 76555 133767 133862
131072 4096 84726 84883 251925 250702
131072 8192 89491 89482 270821 276085
131072 16384 91572 91597 361768 336868
BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=307
Signed-off-by: Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
net/sunrpc/auth_gss/svcauth_gss.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
index a54a7a3..ab329f4 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -838,6 +838,8 @@ u32 svcauth_gss_flavor(struct auth_domain *dom)
struct xdr_netobj mic;
struct xdr_buf integ_buf;
+ clear_bit(RQ_SPLICE_OK, &rqstp->rq_flags);
+
/* Did we already verify the signature on the original pass through? */
if (rqstp->rq_deferred)
return 0;
--
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 15:22 UTC|newest]
Thread overview: 34+ 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
[not found] ` <20170616151535.14210.34926.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
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 ` [PATCH v2 02/19] svcrdma: Squelch disconnection messages Chuck Lever
2017-06-16 15:20 ` [PATCH v2 03/19] svcrdma: Avoid Send Queue overflow Chuck Lever
2017-06-16 15:20 ` [PATCH v2 04/19] svcrdma: Remove svc_rdma_marshal.c Chuck Lever
2017-06-16 15:21 ` [PATCH v2 05/19] svcrdma: Improve Read chunk sanity checking Chuck Lever
2017-06-16 15:21 ` [PATCH v2 06/19] svcrdma: Improve Write " Chuck Lever
2017-06-16 15:21 ` [PATCH v2 07/19] svcrdma: Improve Reply " 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 ` [PATCH v2 09/19] sunrpc: Allocate one more page per svc_rqst 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 ` [PATCH v2 11/19] svcrdma: Use generic RDMA R/W API in RPC Call path 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:22 ` [PATCH v2 13/19] svcrdma: Remove unused Read completion handlers Chuck Lever
2017-06-16 15:22 ` [PATCH v2 14/19] svcrdma: Remove frmr cache 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 ` [PATCH v2 16/19] svcrdma: Clean up after converting svc_rdma_recvfrom to rdma_rw API Chuck Lever
2017-06-16 15:22 ` [PATCH v2 17/19] svcrdma: use offset_in_page() macro 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 [this message]
[not found] ` <20170616152254.14210.48071.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-06-16 17:52 ` [PATCH v2 19/19] sunrpc: Disable splice for krb5i J. Bruce Fields
[not found] ` <20170616175253.GF12030-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2017-06-16 18:37 ` Chuck Lever
[not found] ` <D8C547C0-C361-43F4-8E5C-AF8A6C45C500-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-16 18:42 ` J. Bruce Fields
[not found] ` <20170616184208.GH12030-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2017-06-16 18:44 ` Chuck Lever
2017-06-17 10:01 ` Jeff Layton
[not found] ` <1497693712.4684.4.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-06-20 19:41 ` J. Bruce Fields
2017-06-17 15:07 ` Christoph Hellwig
[not found] ` <20170617150705.GA27917-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-06-17 17:23 ` Chuck Lever
[not found] ` <A573E1EB-48DB-4E4A-B710-34914B0CF016-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-18 7:34 ` Christoph Hellwig
[not found] ` <20170618073438.GA15358-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-06-19 15:22 ` Chuck Lever
[not found] ` <14AD4311-5092-441C-8A3B-F7EC7E801358-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-19 15:30 ` Christoph Hellwig
[not found] ` <20170619153018.GA2667-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-06-22 17:13 ` Jeff Layton
2017-06-20 19:24 ` J. Bruce Fields
[not found] ` <20170620192449.GB13008-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
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=20170616152254.14210.48071.stgit@klimt.1015granger.net \
--to=chuck.lever-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
--cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.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