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

David Noveck <davenoveck@gmail.com> Wed, 29 June 2016 18:22 UTC

Return-Path: <davenoveck@gmail.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 743DA12D5A9 for <nfsv4@ietfa.amsl.com>; Wed, 29 Jun 2016 11:22:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 ys3zmbbV_Sxs for <nfsv4@ietfa.amsl.com>; Wed, 29 Jun 2016 11:22:42 -0700 (PDT)
Received: from mail-ob0-x235.google.com (mail-ob0-x235.google.com [IPv6:2607:f8b0:4003:c01::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1F02A12D5A1 for <nfsv4@ietf.org>; Wed, 29 Jun 2016 11:22:42 -0700 (PDT)
Received: by mail-ob0-x235.google.com with SMTP id mu6so37709966obc.3 for <nfsv4@ietf.org>; Wed, 29 Jun 2016 11:22:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=PsJHQ+ZAywYg6kBEquXeyLmIN4RmFH6DBPgsLXhU8m4=; b=UZKG6Une1kWaN+CjJ0HL3u9kIq+lxPHEX3wiXbo3iNfVVXs6Sopv/lL3yD8WWzdrdh fivbi7UaEuVYhH3tH7bCeT7ie1tOIrktXhEOaaeYNCWTwK0+g4Z+gERG1T6riliyEP8/ PuDdGgDPGpYHtECdnTQ6TqwXhgQpqg/J/AbPXMBkWobNn+IseJjKAI2fgatwpcg/+wr5 LKMNxVtLIHbm3O27QQn1r0q1fwiIhSV94QQJaBtED3lkkehANiELXYTjqBuprFWX4arg o7+ZZTcmNXrzM8Aiw7d21xOCPt5CJv0niBHakuUGDl/iRntbyARVACMftAFDuR0jfktv te1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=PsJHQ+ZAywYg6kBEquXeyLmIN4RmFH6DBPgsLXhU8m4=; b=HnKCqH2n8aG+GHErabtYKw9/XkMSFzG104zSlMhzAu3jdv07nP/mMPrVxqyPl2h8m+ kH/jD6ov2jaXpze3/LLYS5V3uXQhkttPou3o0DXbQjjzY/bWtDvB6RQMXhRQDyBt3aNt jh8X/89NDaB03tZQlrP7tqEgUOKSdnJTxLmi9+JV0u+O+GXbeObHwko3USArj1zdzlgO fqESFTVEakTxbxMtw30b1O9V19ksUqSqX/XZUVmFm2OjziTW2d8EPMXGqeC2oaihC2YD HrYY3U1hHAt+ThuA59v3CULCgpK88wyWjBlN0WbhVhhQyrri8SiZfc5NtLaiSXYlRcC9 JDqg==
X-Gm-Message-State: ALyK8tKtiOBRl2OAAK0bQztUMMveGBwGyXJGEVhUcqEacRRFHZ84lwi11CJ1wr9unPQdumG8RHvvkFITKonJEQ==
X-Received: by 10.202.244.72 with SMTP id s69mr5906075oih.24.1467224561339; Wed, 29 Jun 2016 11:22:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.20.72 with HTTP; Wed, 29 Jun 2016 11:22:40 -0700 (PDT)
In-Reply-To: <CADaq8jf3P=QkB9+7q3_bTizfTuXWOL8nFA6+rA8ZzPutSyCfLA@mail.gmail.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> <CO2PR03MB228022A2D1D42CAD5F727694C7500@CO2PR03MB2280.namprd03.prod.outlook.com> <CADaq8jf3P=QkB9+7q3_bTizfTuXWOL8nFA6+rA8ZzPutSyCfLA@mail.gmail.com>
From: David Noveck <davenoveck@gmail.com>
Date: Wed, 29 Jun 2016 14:22:40 -0400
Message-ID: <CADaq8jceZNiH90mkMRNH+DdN-cczPJbWn1w2oSMaAzt4kWjWTQ@mail.gmail.com>
To: Spencer Shepler <sshepler@microsoft.com>
Content-Type: multipart/alternative; boundary="001a11c17f44c8d8e605366ed6b4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/EMLnMqZ2uAZI2xlpCuGaVRyG7bo>
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: Wed, 29 Jun 2016 18:22:45 -0000

On June 3, Chuck wrote:
> I concur that rfc5666bis and rfc5666-implementation-experience are ready
to move forward.

On June 9, Chuck wrote:
> Let's proceed with revision 05. I'm clearing my recent comment about the
readiness of rpcrdma-bidirection.

On June 9, Spencer wrote:
> Thanks, Chuck.  Will do.

Given the above, is there any reason that all of these documents are still
listed as "In WG Last Call"?.

I think we need to record the (successful) completion of WGLC before the
holiday weekend intervenes,
and then proceed to move these documents forward.   Chuck has already done
the hard part.  We need
to turn the administrative crank to get this work published. The whole
"Work in Progress" thing is getting
kind of old :-(


On Thu, Jun 16, 2016 at 4:13 PM, David Noveck <davenoveck@gmail.com> wrote:

> Since Chuck has cleared his comment about bidirection and submitted -05, I
> think it is
> time to decide that WGLC has concluded (successfully) for
> draft-ietf-nfsv4-rfc5666bis
> draft-ietf-nfsv4-rfc5666-implementation, and
> draft-ietf-nfsv4-rpcrdma-bidirection.
>
> These should be able to move forward.
>
> On Thu, Jun 9, 2016 at 9:02 PM, Spencer Shepler <sshepler@microsoft.com>
> wrote:
>
>>
>> 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
>>
>>
>>
>>
>