Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1004797ybz; Thu, 16 Apr 2020 00:37:16 -0700 (PDT) X-Google-Smtp-Source: APiQypLL6A0qkjBbf8LvBM0T3Nou8TV/nMaoqOk/v2UGsLHJq0QRM6+w4knHMuX0w7CMqtrUgPui X-Received: by 2002:a17:906:4317:: with SMTP id j23mr8141839ejm.377.1587022636575; Thu, 16 Apr 2020 00:37:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587022636; cv=none; d=google.com; s=arc-20160816; b=0JY75+S8gM4+1e63S6UALBRglLCJGW8Imdp3jm10zhuE6FPibQnmf+1reQNsfwEwo0 u/0wSd1gBrD7eePm+IY5/m0kEUgOlbXtpP94nDy3uNXTqxiL9tnsOI5vrscspGlcLhcp iadrx4yhrcAXrczQuUqCfmwZfxKyxHN/MuP/Zn+HI422ibPYzuBxtzu+7QAy1YcHR4S6 6JLl5bZYqcfw1SJyZ7BOWszhkPKdJlJc5iV/Mw03DJyvevOu5G4SQg1FNlRmAqyMuty1 VkB7zMbooN3kX1zIrXtf6EwIlDt9OieYUEmvCw3fFEEMWg2A5RMTXgzSyQdZlC+8kLm+ XONw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=UUNY3ShQiEMlKdA2OtEmjXgSE2HQo1VpKsXAZEAB++8=; b=FRD21FiZDqAGHPE3zrKEvkQnaXwabEG8SGkHBfDqaCnp3T8M79U6tslw0EryFLtbQC m3g6UapXCLImMvrMYtGfgFSg81xaItG2KnvtE4BOWb49ruwZ6Qn8sHornyYKU3zHIBey sqBCsrRx4VZmSgc70+yzAChQqet59E+EeMIG6jwZO6e2+nLbwYxfQXnAiWFDC3bNY5e3 eQoOAc7S7sc01NCd8FhzjGtFY80+PW641xMOqlO+WW2YWl4XMrYHu77Ml35ZVWwSi68c F9ON97uaa0AymSHChtvFWU5NirIcTPJQzjo1duM1UmMnaZMhJkk+ItuGzb9IHflSnABT 21BQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@qnap.com header.s=google header.b=hAAkkXoJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=qnap.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a9si11409401edk.466.2020.04.16.00.36.51; Thu, 16 Apr 2020 00:37:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@qnap.com header.s=google header.b=hAAkkXoJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=qnap.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2439282AbgDPHdd (ORCPT + 99 others); Thu, 16 Apr 2020 03:33:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56774 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2438944AbgDPHd3 (ORCPT ); Thu, 16 Apr 2020 03:33:29 -0400 Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACEC8C061A10 for ; Thu, 16 Apr 2020 00:33:29 -0700 (PDT) Received: by mail-qk1-x744.google.com with SMTP id b62so20327971qkf.6 for ; Thu, 16 Apr 2020 00:33:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qnap.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=UUNY3ShQiEMlKdA2OtEmjXgSE2HQo1VpKsXAZEAB++8=; b=hAAkkXoJSeTZMtgLyumWdDpGnE/XBC+aHvFhGPPys8ToYyqHksL4ZpwqW5T+JaRcXl o43Nn1KGZaVBKhFR5FOvCjbaxWqLrHV8OuMXkvtnh//zZQZGZaqTPXCj5qByMUT5RFbh SJPoK/fhkM3ssd3iqshhMe81Lr0zwvKA7RXU0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=UUNY3ShQiEMlKdA2OtEmjXgSE2HQo1VpKsXAZEAB++8=; b=te7NaiGbIpNyIzz4bbuNq0JUyxzwZnZ4VdcyPSqgzm3WK/cZECLDrxSV+l4NBGm5cx y6anWvZ4hgEnICUnH1i2Kyv5ewLB79a30p9/6ntmzMbzIchZNT0i+BwCVNdA1SX9t6LE 2E9XHm/ELniEbWNF7vS8uv09w1Y+XT5TGtMZFt87ndWXj05E4tJ8YDyXVWskR7I3UAm+ U3R6qZowLhjzOJUplIhIE2QIWOv2prtAFe4Y40XoK+PZBVcj5YEu4+Q+r5wNyP3qZql+ r6a6z6HAblehBBFDt1g2DyH4iepJlW35ipVrxrIBlnS6tNYKDnVvsIIhsrZcQY8t+cls yZKw== X-Gm-Message-State: AGi0PuYQv9XT6xqXu92HTHV3nBq7lAZx8gYqrsiG6wDDb3lKUCWTET6D GUYV/Vw73q75XohYfB5UefjSaIZpvwoYUjleGQge3Q== X-Received: by 2002:a37:8b04:: with SMTP id n4mr30253412qkd.222.1587022408701; Thu, 16 Apr 2020 00:33:28 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jones Syue Date: Thu, 16 Apr 2020 15:33:18 +0800 Message-ID: Subject: Re: [PATCH] cifs: improve read performance for page size 64KB & cache=strict & vers=2.1+ To: Steve French Cc: Pavel Shilovsky , linux-cifs , Samba Technical , Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Steve > Test read performance over 1GbE network with command: Also test read performance over 10GbE network, vers=3D2.1+ can reach over 600 MB/s with v2.patch. aarch64, page size 64KB (CONFIG_ARM64_64K_PAGES=3Dy), linux-4.2.8, cpu Annapurna Labs Alpine AL324 Quad-core ARM Cortex-A57 CPU @ 1.70GHz, ram 8GB, with patch, vers=3D1.0,cache=3Dstrict: read throughput 110MB/s, max read IO size 16KB vers=3D2.0,cache=3Dstrict: read throughput 106MB/s, max read IO size 16KB vers=3D2.1,cache=3Dstrict: read throughput 667MB/s, max read IO size 1MB vers=3D3.0,cache=3Dstrict: read throughput 639MB/s, max read IO size 1MB without patch, vers=3D1.0,cache=3Dstrict: read throughput 107MB/s, max read IO size 16KB vers=3D2.0,cache=3Dstrict: read throughput 107MB/s, max read IO size 16KB vers=3D2.1,cache=3Dstrict: read throughput 106MB/s, max read IO size 16KB vers=3D3.0,cache=3Dstrict: read throughput 106MB/s, max read IO size 16KB command: mount -tcifs /// /remote_strict -overs=3D,cache=3Dstrict,username=3D,password=3D dd if=3D/remote_strict/10G.img of=3D/dev/null bs=3D1M count=3D10240 -- Regards, Jones Syue | =E8=96=9B=E6=87=B7=E5=AE=97 QNAP Systems, Inc. On Thu, Apr 16, 2020 at 11:46 AM Jones Syue wrote: > > Hello Steve > > > Did you also test (at least briefly) with vers=3D1.0 since some of your > > code affects that code path too? > > Yes test v2.patch on 2 platforms aarch64 (page size 64KB) and x86_64 > (page size 4KB), vers=3D1.0 read function works fine on both. > > Test read performance over 1GbE network with command: > 'dd if=3D/remote_strict/10G.img of=3D/dev/null bs=3D1M count=3D10240' > > For read performance on aarch64 (page size 64KB), vers=3D[1.0|2.0] is not= as > fast as vers=3D2.1+, max_read on both SMB 1 (16KB) and SMB 2.0 (64KB) are > still smaller then page size 64KB plus packet header size, hence do not > support readpages. > aarch64, page size 64KB (CONFIG_ARM64_64K_PAGES=3Dy), linux-4.2.8, > cpu Annapurna Labs Alpine AL324 Quad-core ARM Cortex-A57 CPU @ 1.70GHz, > ram 8GB, > with patch, > vers=3D1.0,cache=3Dstrict: read throughput 40MB/s, max read IO size 16KB > vers=3D2.0,cache=3Dstrict: read throughput 40MB/s, max read IO size 16KB > vers=3D2.1,cache=3Dstrict: read throughput 115MB/s, max read IO size 1MB > vers=3D3.0,cache=3Dstrict: read throughput 115MB/s, max read IO size 1MB > without patch, > vers=3D1.0,cache=3Dstrict: read throughput 40MB/s, max read IO size 16KB > vers=3D2.0,cache=3Dstrict: read throughput 40MB/s, max read IO size 16KB > vers=3D2.1,cache=3Dstrict: read throughput 40MB/s, max read IO size 16KB > vers=3D3.0,cache=3Dstrict: read throughput 40MB/s, max read IO size 16KB > > For read performance on x86_64 (page size 4KB), all vers can support > readpages because max_read is bigger than page size 4KB plus packet heade= r > size. > x86_64, page size 4KB, linux-4.2.8, > cpu AMD Embedded R-Series RX-421ND 2.10GHz, > ram 4GB, > without patch, > vers=3D1.0,cache=3Dstrict: read throughput 109MB/s, read IO size 60KB > vers=3D2.0,cache=3Dstrict: read throughput 115MB/s, read IO size 64KB > vers=3D2.1,cache=3Dstrict: read throughput 117MB/s, read IO size 1MB > vers=3D3.0,cache=3Dstrict: read throughput 117MB/s, read IO size 1MB > with patch, > vers=3D1.0,cache=3Dstrict: read throughput 110MB/s, read IO size 60KB > vers=3D2.0,cache=3Dstrict: read throughput 115MB/s, read IO size 64KB > vers=3D2.1,cache=3Dstrict: read throughput 117MB/s, read IO size 1MB > vers=3D3.0,cache=3Dstrict: read throughput 117MB/s, read IO size 1MB > > > And if anyone figures out how to configure an x86_64 Linux to use > > PAGE_SIZE of 64K or larger let me know... > I am using physical platform with arm cpu and aarch64 toolchain, > perhaps try qemu-system-aarch64 later. > > -- > Regards, > Jones Syue | =E8=96=9B=E6=87=B7=E5=AE=97 > QNAP Systems, Inc.