Re: [nfsv4] Review of draft-ietf-nfsv4-rfc5667bis-09

Chuck Lever <chuck.lever@oracle.com> Thu, 27 April 2017 15:35 UTC

Return-Path: <chuck.lever@oracle.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 D08EC129584 for <nfsv4@ietfa.amsl.com>; Thu, 27 Apr 2017 08:35:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level:
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 t3-k-evo9BU1 for <nfsv4@ietfa.amsl.com>; Thu, 27 Apr 2017 08:35:33 -0700 (PDT)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4B59312944E for <nfsv4@ietf.org>; Thu, 27 Apr 2017 08:34:09 -0700 (PDT)
Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v3RFY8ve026605 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <nfsv4@ietf.org>; Thu, 27 Apr 2017 15:34:08 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id v3RFY7rF017852 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <nfsv4@ietf.org>; Thu, 27 Apr 2017 15:34:07 GMT
Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v3RFY7GE025253 for <nfsv4@ietf.org>; Thu, 27 Apr 2017 15:34:07 GMT
Received: from dhcp-whq-5op-3rd-and-4th-floor-gen-off-10-211-46-5.usdhcp.oraclecorp.com (/10.211.46.5) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 27 Apr 2017 08:34:06 -0700
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <6f23e91a-2d66-cbd8-aea9-2753ddfb9b79@oracle.com>
Date: Thu, 27 Apr 2017 08:35:44 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <9726D6E8-0A9E-46C9-9DCF-FB2FB492622D@oracle.com>
References: <CADaq8jdkGgL+H-yoO-+bTNbSYiE_1us9cN5SXY8QV0gfYfK0Ng@mail.gmail.com> <ce42960d-d1e9-8fa6-e98e-3e9b1a2af7d6@oracle.com> <f66e8e66-ba54-ff57-945a-7951eab2f8b1@talpey.com> <BB65A737-BDBD-4A23-9CEE-2EA153293842@oracle.com> <33468014-6695-a2da-1af8-f1f355fbe986@talpey.com> <CADaq8jcJJQ3TiVX6fFURg22YgNg=Cd7ezNQewjt6fgNK4LrPVg@mail.gmail.com> <F417EA11-D49F-420D-A64F-AE6A382B920C@oracle.com> <7213a956-6157-d0a6-432d-1da8d555d8e9@talpey.com> <A7BB8A22-53E3-4910-A6DE-C6103343D309@oracle.com> <6974E7E7-051B-4F28-A61A-DF6F841B248B@oracle.com> <af6ed8c5-6a7d-08ed-590b-1774f34e05f2@talpey.com> <6f23e91a-2d66-cbd8-aea9-2753ddfb9b79@oracle.com>
To: NFSv4 <nfsv4@ietf.org>
X-Mailer: Apple Mail (2.3124)
X-Source-IP: userv0021.oracle.com [156.151.31.71]
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/kQ1kCLUWTFU5tEvpOVgqqFr7vXE>
Subject: Re: [nfsv4] Review of draft-ietf-nfsv4-rfc5667bis-09
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.22
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, 27 Apr 2017 15:35:35 -0000

> On Apr 27, 2017, at 7:38 AM, karen deitke <karen.deitke@oracle.com> wrote:
> 
> "However, implementations have practical limits on the number of
>  chunks_or_  _segments_  they are prepared to process in one of these
>  lists."
> 
> Agreed, but what is the practical limit?

There has to be a limit based on rsize/wsize constraints, page
size, client memory registration mode, the maximum size of
transport headers, and so on.

"Implementations have practical limits" means implementers
get to choose to support only a certain number of segments or
chunks to keep their implementations as simple as possible. The
choice of the limit is based on the features they want their
implementation to support. The protocol specification doesn't
define a limit.

It's OK that the protocol doesn't define a limit. The problem
is there's no way for a client and server to discover the
other's actual limits. Since we're documenting the protocol
here, not defining it, we're stuck with that for the moment.

We could do something clever like add these limits to the
RDMA CM private data.


> There are cases where a solaris client can send up to 16 segments in one write chunk.  WOuld that be considered under the "practical limit"?

No, that would _be_ the practical limit for your client.

For example, the Linux server has a limit of about 260 segments,
because it supports 1MB NFS READs and WRITEs, and 256 pages (plus
a few to accommodate non-aligned payloads) is needed with 4KB
pages.

The Linux server has a limit of 1 normal Read chunk or 1
Position-zero Read chunk. That's totally arbitrary, and was an
implementation choice based on what the Linux client of 2008
might send. Clearly, the Linux server will need to be improved
to support more general clients like Solaris.


--
Chuck Lever