Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review

Spencer Shepler <sshepler@microsoft.com> Fri, 10 June 2016 01:03 UTC

Return-Path: <sshepler@microsoft.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 19A0012D868 for <nfsv4@ietfa.amsl.com>; Thu, 9 Jun 2016 18:03:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W4MqfX7W8hyW for <nfsv4@ietfa.amsl.com>; Thu, 9 Jun 2016 18:03:04 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0720.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:720]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F416812D863 for <nfsv4@ietf.org>; Thu, 9 Jun 2016 18:03:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=uTfyjjgh84s0lhRZF0RZ9TuQbhkDxdcDsHKiaiCb560=; b=DkqQq7fXOtbHqLmmjDchuXdB6puvHrb+RFbCrfKY93pKaI5l+aBufjqvII2QkWKtPcCh7hHF7fmXR1mUz5KOlzJqyov5NoN5jClJkB914PH+/ugcUXVGhy4AGb8ev0zd5bDHIq78QvLFYNtrxk/5gpIARdA1HTwDRwE8QFXVFXE=
Received: from CO2PR03MB2280.namprd03.prod.outlook.com (10.166.92.149) by CO2PR03MB2279.namprd03.prod.outlook.com (10.166.92.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.517.8; Fri, 10 Jun 2016 01:02:45 +0000
Received: from CO2PR03MB2280.namprd03.prod.outlook.com ([10.166.92.149]) by CO2PR03MB2280.namprd03.prod.outlook.com ([10.166.92.149]) with mapi id 15.01.0517.005; Fri, 10 Jun 2016 01:02:45 +0000
From: Spencer Shepler <sshepler@microsoft.com>
To: Chuck Lever <chuck.lever@oracle.com>
Thread-Topic: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review
Thread-Index: AQHRsrJUXFC5Y3VVE0uZEErj0j6iqZ/CB3SAgAAekYCAAAPxgIAAAemAgAAGjICABGIDgIAADeYAgAAK9YCAAAxTAIAGBo0AgAAa2ICAADtXAIAKzf+AgAAI0wCAABTCIIAJjjqAgAByAbA=
Date: Fri, 10 Jun 2016 01:02:45 +0000
Message-ID: <CO2PR03MB228022A2D1D42CAD5F727694C7500@CO2PR03MB2280.namprd03.prod.outlook.com>
References: <6da90b6b-bb58-d241-0d74-dc421358c97c@oracle.com> <9ECFBBD5-9359-46AB-B1CC-7FCBF06C40A8@oracle.com> <f609eba3-4294-37ae-3bb8-c7df8f648bb0@oracle.com> <0E79D0E4-9D53-4ED4-8D17-2D806C56648F@oracle.com> <567848d1-d854-ef70-8fba-33708e7e0601@oracle.com> <E2B31EDF-74D6-4CC8-8F6C-674C85498B56@oracle.com> <E0C18ECC-7D15-447F-9DA7-654E1EBF6C3B@oracle.com> <CADaq8jcgW316nLwA3LnCAmL7nAY3o6XjeQLCkV-S_Sps9g+LJw@mail.gmail.com> <4E8C421F-1A22-413C-AA2E-833C71AC6F71@oracle.com> <CADaq8jdVjt6x0MNgc7g0HCvQ9tR6yC01AdSPCiqHmEn8CMPscw@mail.gmail.com> <CADaq8jcHk4PzxhGLtsK7mBEuh0J3T54Bn3PFd==X5cdoB9pGSQ@mail.gmail.com> <46B6E3E0-4598-4A54-A091-D590BF084B7F@oracle.com> <CADaq8jeBFLT4QB9=jY0OywbDDon0eUSrafz3nDVxcORNvwpDbg@mail.gmail.com> <CADaq8jc2hEg+sk7ADPoaFKmvCQ_xWjAkP1amWz9PJDHRSnCvHw@mail.gmail.com> <B338F553-B74E-49C2-A638-2691B2A8E86D@oracle.com> <CO2PR03MB2280937A189D3858BB4185C2C7590@CO2PR03MB2280.namprd03.prod.outlook.com> <9B430ED2-02ED-4A8A-81E8-B718DD9F5D50@oracle.com>
In-Reply-To: <9B430ED2-02ED-4A8A-81E8-B718DD9F5D50@oracle.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=sshepler@microsoft.com;
x-originating-ip: [2001:4898:80e8:a::63e]
x-ms-office365-filtering-correlation-id: 4021f718-a067-4eb1-0f49-08d390caef1c
x-microsoft-exchange-diagnostics: 1; CO2PR03MB2279; 6:29VsMavg0Dgc3tPkUGOQiqPV2TirdEbtpdC0kcJLbQUYOYFyvTMmtwo9o97JrTjRdxJDd+zTxOuiM3KKshvwMDhMYFMmATKpJXfJ2p0Zu3Wmz7oZOlYmGrtTNurldUiMwEzDHbxHky0bpNJtzOfcPkcy2R0LmZIT2uLbIfSxDmAH9NSPE3gokoLjSXjknrqDzqJDbY3mcySlIppBDPAMFmjevSC5VSVbvFd5J6ylPNhIyOKnqDDYBCjCsiyBDT+YELYC3+2YZD39MJSaqWpZ+GoRekePlo4175xwIM4pAgGdHOZXMSO0AYy7g6SVHMEp; 5:hVKbipUvHEWrc/Cuuh3PZ3CQJUdSzRsFUMERQqAbiZsIUCIBjb6ff9p8lnH9ZRexb6mz7k+QtS5h4aHwqnXgcLuv9AzufRhFRbfUwTWi75q3vEYDZgqWt+Q4cY4Gvb1+7saXN8knZEABF2YUc8XN9A==; 24:dXUm6KVsG2HZwUv21YqkZhU47msopLTBfTJKed7X2mn69o+myZz6lXdSDEWou66CPQR+r9f+ZyrdMZbbs2lYgnzN6rzPSSuugNremeta9rY=; 7:vXRHLxKXh7OQyaNoFbsWyfI2oPdDVrqklveza7ru95bMv/H606Azrt9XqYU8s0dCJUnjxNVi9vvtBJGlLkv0/8YFW5eMMa5K947DOmxiY96csuyTRP0JYnUYKcVb3ioBwliDCSC7Drdc3A54Mytm2YtLhHT5xSxSZM8mb8kXZzFZW6xi6LS9k74t6wq8WL2bzde2lom39fgrVagm1EQLGxfe4DkYgpovdls1Yaun7do=
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CO2PR03MB2279;
x-microsoft-antispam-prvs: <CO2PR03MB22799C49211BC38F0B7D806DC7500@CO2PR03MB2279.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(189930954265078)(222783783823338)(100405760836317)(219752817060721)(146099531331640);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425038)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026)(61426038)(61427038); SRVR:CO2PR03MB2279; BCL:0; PCL:0; RULEID:; SRVR:CO2PR03MB2279;
x-forefront-prvs: 096943F07A
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(51914003)(13464003)(199003)(24454002)(189002)(377454003)(99286002)(76576001)(97736004)(86362001)(5005710100001)(189998001)(10290500002)(110136002)(10090500001)(74316001)(8990500004)(10400500002)(87936001)(11100500001)(575784001)(101416001)(50986999)(76176999)(19580395003)(77096005)(33656002)(2900100001)(15975445007)(2950100001)(54356999)(68736007)(105586002)(19580405001)(92566002)(106116001)(5008740100001)(86612001)(8676002)(81166006)(81156014)(93886004)(122556002)(6116002)(3280700002)(586003)(5003600100002)(9686002)(8936002)(5004730100002)(5002640100001)(230783001)(2906002)(4326007)(102836003)(106356001)(3660700001)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:CO2PR03MB2279; H:CO2PR03MB2280.namprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; CAT:NONE; LANG:en; CAT:NONE;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jun 2016 01:02:45.6571 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR03MB2279
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/BhS4nw4J3mj8Xs28OsJxYqlgipw>
Cc: NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Jun 2016 01:03:07 -0000

Thanks, Chuck.  Will do.

-----Original Message-----
From: Chuck Lever [mailto:chuck.lever@oracle.com] 
Sent: Thursday, June 9, 2016 11:15 AM
To: Spencer Shepler <sshepler@microsoft.com>
Cc: David Noveck <davenoveck@gmail.com>; NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review

Hi Spencer-

Let's proceed with revision 05. I'm clearing my recent comment about the readiness of rpcrdma-bidirection.



> On Jun 3, 2016, at 12:20 PM, Spencer Shepler <sshepler@microsoft.com> wrote:
> 
> 
> Thanks for the discussion.  I will wait on you, Chuck, to "clear" the comment you made below on readiness.
> 
> Just to be clear, the WGLC is complete and from my point of view we have consensus but want to ensure the author is comfortable with moving forward.
> 
> -----Original Message-----
> From: Chuck Lever [mailto:chuck.lever@oracle.com]
> Sent: Friday, June 3, 2016 8:05 AM
> To: David Noveck <davenoveck@gmail.com>; Spencer Shepler 
> <sshepler@microsoft.com>
> Cc: NFSv4 <nfsv4@ietf.org>
> Subject: Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review
> 
> 
>> On Jun 3, 2016, at 10:33 AM, David Noveck <davenoveck@gmail.com> wrote:
>> 
>> A week ago I wrote:
>>> The problem is that, in a multi-direction context, a given 
>>> implementation only knows whether it is a client or a server.  It 
>>> only knows if it is a requester or a responder based on the message 
>>> it is processing at any given instant and if it can't figure that out, it is unsure whether it is a requester or responder and may be neither at particular times.
>> 
>> It's now been at least two weeks since last call was supposed to end 
>> for the Version One RDMA documents and a week since Chuck posted any 
>> necessary updates.  I'm not sure why the documents are still listed as in WGLC, but I wanted to make it clear that my comments above should not be holding these up.
>> 
>> Those comments refer to a problem that is inherent in Version One  
>> and cannot be fixed within the constraints of a Version One 
>> no-XDR-change update.  Since the Working group has decided to do a 
>> Version One no-XDR-change update, the three existing RDMA documents should now go forward.  I don;t believe there is any disagreement on that point.
> 
> I concur that rfc5666bis and rfc5666-implementation-experience are ready to move forward.
> 
> However, I've been thinking about an earlier comment Dave made in this thread:
> 
>> My only concern is with regard to a possible future extension in which multiple RPC messages are carried in a single SEND (i.e., the precise opposite of message continuation).  When the language for the new field is drafted, we should make sure that it doesn't assume all the messages in a SEND are all related to a single direction of operation. 
> 
> 
> There seem to be two related issues, and one of them has ramifications for rpcrdma-bidirection.
> 
> 
> I. Ambiguity of the meaning of the credit field
> 
> In the rfc5666bis world, the credit field in all messages flowing on a connection had an unambiguous meaning. If the message was going from requester to responder, the credit field was a credit request. In the other direction, it was a credit grant.
> 
> rpcrdma-bidirection introduced the idea of two separate credit flows, which depend on whether the message was part of forward RPC operation or backward RPC operation on that connection.
> 
> This is the source of the problem.
> 
> The meaning of the credit field depends on a field in the upper layer, so it's a layering violation, to say the least.
> 
> Also, the original concept of credit was to manage RDMA receive buffers, but rpcrdma-bidirection interpretation of the credit value is one-credit-per-RPC.
> 
> Now if we want to add support for partial RPC message per credit (message continuation) or multiple RPC messages per credit (as proposed above), or NO RPC message per credit (for RDMA2_OPTIONAL control messages) the credit field is unusable.
> 
> Would we add an independent pool of credits for each of these transmission mechanisms? Probably not.
> 
> A logical course of action, then, would be to alter the rpcrdma-bidirection I-D so that forward and backward direction operation use the same pool of credits.
> 
> The question is whether it is feasible for the two directions to share the credit pools without deadlocking.
> Some prototyping and/or careful thought would be needed to answer it.
> 
> (Spencer, I may be changing my mind about the readiness of rpcrdma-bidirection).
> 
> 
> II. Ambiguity of the meaning of the XID field
> 
> Today we have a one-to-one match between the XID value in the RPC-over-RDMA header and the XID associated with the RPC payload in that message.
> 
> With an extension for message continuation, there is still a one-to-one match: the RPC-over-RDMA XID can match the XID of the partial RPC payload.
> 
> But for multiple RPC payloads per Send, or no RPC payloads per Send (control messages), we no longer have a match. How should the RPC-over-RDMA header's XID field be set in those cases?
> 
> RFC 5666 and rfc5666bis have similar language regarding how the XID field in the RPC-over-RDMA header is to be set. Here's rfc5666bis, Section 5.2.1:
> 
>>   The
>>   receiver MAY perform its processing based solely on the XID in the
>>   RPC-over-RDMA header, and thereby ignore the XID in the RPC message,
>>   if it so chooses.
> 
> 
> In other words, implementations are already allowed to rely on the value of the RPC-over-RDMA header's XID field, and ignore the XID field in the payload.
> 
> This issue has to be addressed for rpcrdma-version-two to support extensions that enable multiple or no RPCs per message.
> 
> I propose that here, an independent XID space for RDMA2_OPTIONAL messages makes sense. This would allow receivers to match RDMA2_OPTIONAL call and reply messages, but would not tie the header's XID value to the upper layer payload in any way.
> 
> 
> --
> Chuck Lever
> 
> 
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwww.i
> etf.org%2fmailman%2flistinfo%2fnfsv4&data=01%7c01%7csshepler%40microso
> ft.com%7cc7fb211893674020da6d08d39091ec90%7c72f988bf86f141af91ab2d7cd0
> 11db47%7c1&sdata=KiMVRSXc2Sj8%2blfR0vjWLJFQ4KAYKx95%2bMkReAuNQjA%3d

--
Chuck Lever