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

David Noveck <davenoveck@gmail.com> Thu, 09 June 2016 01:31 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 9A8A912D79E for <nfsv4@ietfa.amsl.com>; Wed, 8 Jun 2016 18:31:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, 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 QCnpkKVOhc2f for <nfsv4@ietfa.amsl.com>; Wed, 8 Jun 2016 18:31:41 -0700 (PDT)
Received: from mail-oi0-x229.google.com (mail-oi0-x229.google.com [IPv6:2607:f8b0:4003:c06::229]) (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 33C9612D764 for <nfsv4@ietf.org>; Wed, 8 Jun 2016 18:31:41 -0700 (PDT)
Received: by mail-oi0-x229.google.com with SMTP id s139so41172332oie.2 for <nfsv4@ietf.org>; Wed, 08 Jun 2016 18:31:41 -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=SZ5p8sxJ58LcWeYOZdbwWNkY4TtakpyDVp7HqHXxT3I=; b=t/8LOty91HvvaHaNn1mPzHaYmAsV1KdAobF/BBOHebQE+pSchY6WxyrFsJsN81kJuY ZDCYSbYP5P5Lq+mSasT4LnQFGxfq/LSKJgHylU+xRpb9Uphq+wRk1uTFGAzVTAMouoMv Ro2qas2KsbfSbkVNvniJuSqjE1vjVPZ1V3AUnWH5+xQe/JOAWxF+wMEj7pdudrop8PxW OAxWXgwQm98rmxOodl7N5CoOCwu+armMGHF8L3HWtfWvKgeMC3YbJt4m/NiyKsV9puqF cNCKCIYjLp2c7LjAFJw613sKrvmbhOFeo/4BkhlbEBxXNv/7XPx8+Cj1El+/7CbPaKsG kO3g==
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=SZ5p8sxJ58LcWeYOZdbwWNkY4TtakpyDVp7HqHXxT3I=; b=W70vhegq+PpVwKSwLyXcUmvfyKGlciVlzv0BHFdGUpT7h/UYlgF7VyymCKiye7/4nC MMdnVUVYnSl7m0sXBSZvWS4iNHaN88ttfOMdVP5/rxCPw+oopPUMG2E4o6e2yZCPH118 HePvfEHTZM3sAKq1Uy5nd4ZVMm0misvrseFx12tlV79dC6mbVtXtTzQPGraLL6ebSMZW nmVWKfyNvr6W0s5uqAsl2ci9Bs1isrMvaKTvkX/5Hh42+6Zn1rkzdGx/XVxtiYbrmtkx BSSqAymi/r9jgIZ8FZZTL4KfWpgCKonqy6+XxfymewmiVQxybKeChgDJHKMRo+eHcdGW 0seA==
X-Gm-Message-State: ALyK8tLTPBBItkCFqvEtpZa5ZMTUZaUvVqmLzml5KNZfiXAPa4Z/ca9zwJc2wGdq0BOnbIRzrE6FIh2Ql12HgA==
X-Received: by 10.202.102.9 with SMTP id a9mr4711314oic.67.1465435900319; Wed, 08 Jun 2016 18:31:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.29.166 with HTTP; Wed, 8 Jun 2016 18:31:38 -0700 (PDT)
In-Reply-To: <FFFA1057-5B67-45F1-9574-7187F8C7F1CA@oracle.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> <CADaq8jeybG3fx4evUhKDxXkVfpbiVSm1td9mvrN=RwrqqFtiwg@mail.gmail.com> <46F55B8B-5266-4472-BD30-D9FAEF2265AA@oracle.com> <EFC3267A-A89F-4538-9995-2F531D8DC14B@oracle.com> <CADaq8jfB4kOpAv3nKe1APu9ZswF3AcEYJYGvKBTytAix6g6eAw@mail.gmail.com> <FFFA1057-5B67-45F1-9574-7187F8C7F1CA@oracle.com>
From: David Noveck <davenoveck@gmail.com>
Date: Wed, 08 Jun 2016 21:31:38 -0400
Message-ID: <CADaq8jdN4Jj3aoMmMX_F9+pzhr6X=RfT6D-giifxrH-bn=igtw@mail.gmail.com>
To: Chuck Lever <chuck.lever@oracle.com>
Content-Type: multipart/alternative; boundary="001a1140e65a479fb40534ce6292"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/T8wXHatKj0fy2ic8n5l6RqpSvqE>
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: Thu, 09 Jun 2016 01:31:43 -0000

Looks fine to me.

On Wed, Jun 8, 2016 at 4:05 PM, Chuck Lever <chuck.lever@oracle.com> wrote:

>
> > On Jun 6, 2016, at 1:10 PM, David Noveck <davenoveck@gmail.com> wrote:
> >
> > >> The responsibility for defining the basic structure of bidirectional
> operation belongs to rpcrdma-bidirection.
> > >> This includes the use of two separate credit pools and the fact each
> message may contain either a request or a grant applying to the credit pool
> owned by the message receiver.
> >
> > > OK: the receiver has to decide whether each message
> > > contains a credit request (the receiver is acting as
> > > a responder) or a credit grant (the receiver is
> > > acting as a requester).
> >
> > Yes but I'd boil this down to the receiver deciding whether the credit
> field is a request or a grant (and the
> > RPC-over-RDMA version telling him how to decide.
> >
> > The place where this gets "interesting" is a subcase of the feature you
> brought up.  If a transmission can
> > contain multiple rpc messages, it can be the case the sender would want
> to send both requests and replies
> > and thus want/need to send both a request and a grant.
> >
> > I think we want to be careful that, where we specify how the credit
> field is to be used, we don't foreclose
> > passing credits or grants in other fields.    If an XMOPT_GROUP were
> defined, that allowed a group of
> > RPC messages to be sent, the version two sender would make the direction
> field reflect the majority, but
> > I would want it to have the option to have an other-credit field so it
> could convey a request and a grant in
> > the same transmission.
> >
> > > I might refine the text of rpcrdma-bidirection in this
> > > area, but otherwise I don't think there's a significant
> > > change needed.
> >
> > there might be minor text tweaking required.
> >
> >
> > > >       • The responsibility for defining how it is to be determined,
> whether any particular message has a grant or a request in the credit field
> is the responsibility of the specific RPC-over-RDMA version being used.
> >
> > > I might add this suggestion to rpcrdma-bidrection.
> >
> > OK, bu so far I hven't seen any obvious place to put it.
> >
> >
> > > >       • The responsibility of deciding whether bidirectional
> operation is OPTIONAL, REQUIRED, or not allowed is the responsibility of
> the specific RPC-over-RDMA version being used.
> >
> > > I'm uncertain how that aligns with rfc5666bis, which
> > > does not mention backwards direction operation at all.
> > > This implies that it is allowed, and not REQUIRED. Is
> > > that enough?
> >
> > I think what is in 5666bis is fine.  Section 8.1 introduces it as a
> > potential conventional extension and references rpcrdma-bidirection.
> >
> >
> > >>       • The text that now defines how the credit field for specfic
> Version One messages is interpreted as illustrative of version one only.
> >
> > > Is a text change needed for this, or are you simply
> > > stating an operating assumption for spec writers?
> >
> > I was thinking of rewriting the last paragraph of section 4.1 of
> rpcrdma-bidirection to read as follows:
> >
> > When message direction is not fully determined by context or by an
> accompanying RPC message with a call direction field, it may not be clear
> whether the header credit value is a request or grant.  In such cases the
> definition of the RPC-over-RDMA version used may provide guidance as to how
> the credit value is to be interpreted. In such cases in which such guidance
> is not provided or is adequate, the receiver MUST NOT use the header's
> credit value.
> > I didn't see anything else that need to change.
>
>
> OK, here's how rpcrdma-bidirection Section 4.1 reads now:
>
> > 4.1.  Backward Credits
> >
> >    RPC-over-RDMA credits work the same way in the backward direction as
> >    they do in the forward direction.  However, forward direction credits
> >    and backward direction credits on the same connection are accounted
> >    separately.
> >
> >    The forward direction credit value retains the same meaning whether
> >    or not there are backward direction resources associated with an RPC-
> >    over-RDMA transport connection.  This is the number of RPC requests
> >    the forward direction responder (the RPC server) is prepared to
> >    receive concurrently.
> >
> >    The backward direction credit value is the number of RPC requests the
> >    backward direction responder (the RPC client) is prepared to receive
> >    concurrently.  Observe that the backward direction credit value MAY
> >    be different than the forward direction credit value.
> >
> >    During bi-directional operation, each receiver has to decide whether
> >    an incoming message contains a credit request (the receiver is acting
> >    as a responder) or a credit grant (the receiver is acting as a
> >    requester) and apply the credit value accordingly.
> >
> >    When message direction is not fully determined by context (e.g.,
> >    suggested by the definition of the RPC-over-RDMA version that is in
> >    use) or by an accompanying RPC message payload with a call direction
> >    field, it is not possible for the receiver to tell with certainty
> >    whether the header credit value is a request or grant.  In such
> >    cases, the receiver MUST NOT use the header's credit value.
>
>
>
> --
> Chuck Lever
>
>
>
>