Received: by 2002:a05:6a10:6006:0:0:0:0 with SMTP id w6csp433857pxa; Wed, 26 Aug 2020 14:56:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxPZNnkKZAezh3qZY01K5MglOBV02Dc01i2cX0ZnJau1Nz3E3iQywY1Uo+usCKikmrWLgqP X-Received: by 2002:aa7:cc92:: with SMTP id p18mr16951793edt.253.1598479015911; Wed, 26 Aug 2020 14:56:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598479015; cv=none; d=google.com; s=arc-20160816; b=h374g4GoRypMLzqwt47rQdSZyGMQdQR82gyy7gGpS1bGresLd48MZjMROtoqiASMFv Z02CWVAFPrVgvffif9Et2fGQltQYIJG1jODtqZOGW1dZGRr6FobPUqzUTVUE9dss7l7V oD/TxmhMS8+jHXHuJlo24pKHNxtBED2KTEg1JIG2ynIg/Uk6n3Ry1SyTA0vVoDs7XQGw 5vHqTxdHmpfcnvhePyIdrndUaeC5a5G4M+lXSsfoUo8CeL6dC31zJuu92l+Cf/hKpc6W p2ja4yWjghL9XnzR22OlgJB6BEq7SMuuOH2kRayw5KuzRF/pKzjlKmtgsekO3BT7OAWF eLJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=hxtvXSJdj5QSt1FET4nzgXb0n++oVbcGrPbXPBtksoo=; b=fi9vT2gdYMFhmtZ5keZGx2YJz0fMyDsXEH2PLM0iwziFDfDIPQJxPKXP0eNdvYX4Nv 3Ij0MjHeM4vLFjX3pR/MT8FqSBzHcBSRHy9MqbuVhCFJiFkO44qGmPm8HgmDov8QzY85 B5ebpgEdLw8XCHswAV61Lye4Gy/SGIqxuJbgeN3W5Gb/a+Ic2mTzGKaAmp4b5aq9HpP3 3KzsUEpsLGYPzdpSgYM4FvrecD77T4C98VkVSpOjbGp4TiqPAUYd41xzJ1Ey7XQa+TQs UCxKhCnKm40dej/3CukEQjkKQ51MvBarP62/0AOy1XB+/cotKVgDrPNdwuKNqkDJ0qdd BvIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=GClq+XyQ; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x19si7274ejs.634.2020.08.26.14.56.20; Wed, 26 Aug 2020 14:56:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=GClq+XyQ; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726784AbgHZVyz (ORCPT + 99 others); Wed, 26 Aug 2020 17:54:55 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:54450 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726753AbgHZVyy (ORCPT ); Wed, 26 Aug 2020 17:54:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1598478892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hxtvXSJdj5QSt1FET4nzgXb0n++oVbcGrPbXPBtksoo=; b=GClq+XyQgHiIo4YerkWjyNoy9IjqROFEWAXlG6gQvtfSA2yW6ikQ+Cb1AMK7Ie9U5Xs7wu Znd5G1S1nhyyNla3W9E0hHxzqYPlSMJ0E12oW6GFFvpRf+kKlug8Ekcqj3y/ATgtAMPpvY 4E4g9aHOWNNCeJuczaGVIXV3OkjUxUQ= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-332-XlgP5UaWMt6TQD8P2i1_3Q-1; Wed, 26 Aug 2020 17:54:48 -0400 X-MC-Unique: XlgP5UaWMt6TQD8P2i1_3Q-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 413101005E73; Wed, 26 Aug 2020 21:54:47 +0000 (UTC) Received: from pick.fieldses.org (ovpn-119-12.rdu2.redhat.com [10.10.119.12]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 914A67A41C; Wed, 26 Aug 2020 21:54:46 +0000 (UTC) Received: by pick.fieldses.org (Postfix, from userid 2815) id 578B212037E; Wed, 26 Aug 2020 17:54:37 -0400 (EDT) Date: Wed, 26 Aug 2020 17:54:37 -0400 From: "J. Bruce Fields" To: schumaker.anna@gmail.com Cc: chuck.lever@oracle.com, linux-nfs@vger.kernel.org, Anna.Schumaker@netapp.com Subject: Re: [PATCH v4 0/5] NFSD: Add support for the v4.2 READ_PLUS operation Message-ID: <20200826215437.GD62682@pick.fieldses.org> References: <20200817165310.354092-1-Anna.Schumaker@Netapp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200817165310.354092-1-Anna.Schumaker@Netapp.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Mon, Aug 17, 2020 at 12:53:05PM -0400, schumaker.anna@gmail.com wrote: > From: Anna Schumaker > > These patches add server support for the READ_PLUS operation, which > breaks read requests into several "data" and "hole" segments when > replying to the client. > > - Changes since v3: > - Combine first two patches related to xdr_reserve_space_vec() > - Remove unnecessary call to svc_encode_read_payload() > > Here are the results of some performance tests I ran on some lab > machines. What's the hardware setup (do you know network and disk bandwidth?). > I tested by reading various 2G files from a few different underlying > filesystems and across several NFS versions. I used the `vmtouch` utility > to make sure files were only cached when we wanted them to be. In addition > to 100% data and 100% hole cases, I also tested with files that alternate > between data and hole segments. These files have either 4K, 8K, 16K, or 32K > segment sizes and start with either data or hole segments. So the file > mixed-4d has a 4K segment size beginning with a data segment, but mixed-32h > has 32K segments beginning with a hole. The units are in seconds, with the > first number for each NFS version being the uncached read time and the second > number is for when the file is cached on the server. The only numbers that look really strange are in the btrfs uncached case, in the data-only case and the mixed case that start with a hole. Do we have any idea what's up there? --b. > Read Plus Results (btrfs): > data > :... v4.1 ... Uncached ... 21.317 s, 101 MB/s, 0.63 s kern, 2% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.67 s kern, 3% cpu > :... v4.2 ... Uncached ... 28.665 s, 75 MB/s, 0.65 s kern, 2% cpu > :....... Cached ..... 18.253 s, 118 MB/s, 0.66 s kern, 3% cpu > hole > :... v4.1 ... Uncached ... 18.256 s, 118 MB/s, 0.70 s kern, 3% cpu > : :....... Cached ..... 18.254 s, 118 MB/s, 0.73 s kern, 4% cpu > :... v4.2 ... Uncached ... 0.851 s, 2.5 GB/s, 0.72 s kern, 84% cpu > :....... Cached ..... 0.847 s, 2.5 GB/s, 0.73 s kern, 86% cpu > mixed-4d > :... v4.1 ... Uncached ... 56.857 s, 38 MB/s, 0.76 s kern, 1% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.72 s kern, 3% cpu > :... v4.2 ... Uncached ... 54.455 s, 39 MB/s, 0.73 s kern, 1% cpu > :....... Cached ..... 9.215 s, 233 MB/s, 0.68 s kern, 7% cpu > mixed-8d > :... v4.1 ... Uncached ... 36.641 s, 59 MB/s, 0.68 s kern, 1% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.70 s kern, 3% cpu > :... v4.2 ... Uncached ... 33.205 s, 65 MB/s, 0.67 s kern, 2% cpu > :....... Cached ..... 9.172 s, 234 MB/s, 0.65 s kern, 7% cpu > mixed-16d > :... v4.1 ... Uncached ... 28.653 s, 75 MB/s, 0.72 s kern, 2% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.70 s kern, 3% cpu > :... v4.2 ... Uncached ... 25.748 s, 83 MB/s, 0.71 s kern, 2% cpu > :....... Cached ..... 9.150 s, 235 MB/s, 0.64 s kern, 7% cpu > mixed-32d > :... v4.1 ... Uncached ... 28.886 s, 74 MB/s, 0.67 s kern, 2% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.71 s kern, 3% cpu > :... v4.2 ... Uncached ... 24.724 s, 87 MB/s, 0.74 s kern, 2% cpu > :....... Cached ..... 9.140 s, 235 MB/s, 0.63 s kern, 6% cpu > mixed-4h > :... v4.1 ... Uncached ... 52.181 s, 41 MB/s, 0.73 s kern, 1% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.66 s kern, 3% cpu > :... v4.2 ... Uncached ... 150.341 s, 14 MB/s, 0.72 s kern, 0% cpu > :....... Cached ..... 9.216 s, 233 MB/s, 0.63 s kern, 6% cpu > mixed-8h > :... v4.1 ... Uncached ... 36.945 s, 58 MB/s, 0.68 s kern, 1% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.65 s kern, 3% cpu > :... v4.2 ... Uncached ... 79.781 s, 27 MB/s, 0.68 s kern, 0% cpu > :....... Cached ..... 9.172 s, 234 MB/s, 0.66 s kern, 7% cpu > mixed-16h > :... v4.1 ... Uncached ... 28.651 s, 75 MB/s, 0.73 s kern, 2% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.66 s kern, 3% cpu > :... v4.2 ... Uncached ... 47.428 s, 45 MB/s, 0.71 s kern, 1% cpu > :....... Cached ..... 9.150 s, 235 MB/s, 0.67 s kern, 7% cpu > mixed-32h > :... v4.1 ... Uncached ... 28.618 s, 75 MB/s, 0.69 s kern, 2% cpu > : :....... Cached ..... 18.252 s, 118 MB/s, 0.70 s kern, 3% cpu > :... v4.2 ... Uncached ... 38.813 s, 55 MB/s, 0.67 s kern, 1% cpu > :....... Cached ..... 9.140 s, 235 MB/s, 0.61 s kern, 6% cpu