From patchwork Sat Mar 23 15:23:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 1062307 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aquantia.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="YEYZg98G"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44RPSH1m92z9sSR for ; Sun, 24 Mar 2019 02:23:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727509AbfCWPXd (ORCPT ); Sat, 23 Mar 2019 11:23:33 -0400 Received: from mail-eopbgr760045.outbound.protection.outlook.com ([40.107.76.45]:15874 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727364AbfCWPXd (ORCPT ); Sat, 23 Mar 2019 11:23:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oA/Y/IPKnjcv7ftq+WaQQhazdfeAoCkRr9vmFnV4GJI=; b=YEYZg98GrvxlJhoHBNqaGaiAakTI2HeVSj4R0GbzKWTes5AlsxHt4xyn9u7QJntbbNNqliYXLCvVqMcOwpJsrnaL8j3zEd7b/s0Qfkjyr9g+Tcu3KlMsylVUW1k8bEeGD9KdLvdOg3PzUZrMPayGTEnXAg+IFxWgS4+j9e5OKuA= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB3659.namprd11.prod.outlook.com (20.178.231.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1730.15; Sat, 23 Mar 2019 15:23:29 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::d145:a1f4:ed34:e31b]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::d145:a1f4:ed34:e31b%3]) with mapi id 15.20.1730.017; Sat, 23 Mar 2019 15:23:29 +0000 From: Igor Russkikh To: "David S . Miller" CC: "netdev@vger.kernel.org" , Igor Russkikh Subject: [PATCH net-next 0/7] net: aquantia: RX performance optimization patches Thread-Topic: [PATCH net-next 0/7] net: aquantia: RX performance optimization patches Thread-Index: AQHU4YxeSGf6TEb7UESib89nMIftiQ== Date: Sat, 23 Mar 2019 15:23:29 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BY5PR13CA0013.namprd13.prod.outlook.com (2603:10b6:a03:180::26) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [95.79.108.179] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 92afa39c-7053-47af-1add-08d6afa38072 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:DM6PR11MB3659; x-ms-traffictypediagnostic: DM6PR11MB3659: x-microsoft-antispam-prvs: x-forefront-prvs: 0985DA2459 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(136003)(396003)(376002)(39840400004)(346002)(199004)(189003)(14454004)(97736004)(25786009)(5660300002)(86362001)(81166006)(81156014)(8676002)(2906002)(4326008)(7736002)(305945005)(3846002)(6116002)(316002)(476003)(2616005)(54906003)(44832011)(486006)(52116002)(72206003)(6916009)(6486002)(68736007)(386003)(6506007)(6512007)(256004)(99286004)(53936002)(71190400001)(71200400001)(6436002)(478600001)(186003)(8936002)(107886003)(105586002)(50226002)(106356001)(66066001)(102836004)(36756003)(26005)(448954002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3659; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: zzXLrYV+vEnYMxSynfd+RqrW8Ao9kOIGK/ysVB7LowNI7fOUZcn1gOkyU+gf8/dW9KIqOgern/rbz9Tv4LysxCScKYUF3WzHThyAPcdbkdPFh+OjCqJyqWyArY3HNEYLK8YQDlWnh8AHkrDqY8e5g1QnXujL0j0Hyj8zYJozWRUykDG9PaG+TYT/henJP+c0LUPLcQrdRJDW1UBWdZjNBj80QlKWQhSOxVQa5rXmtk9khchdlW9izX3rTsLyuP9X2dPx9zSYIpEXzc/eO/dlNr6lZl7m6DdxglHWW2jk8JyHyKM8mR7nImAyPtQLDntPCOqwqg5webw/G6Uq2ACrDShThUqQ8JKaq4ted2dv844F7gqMKOOcIqluCtVnqG5PA3+H6HGZ4JRzN/017tSbdM07kxt6JybVPk1OjJMsJdo= MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92afa39c-7053-47af-1add-08d6afa38072 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2019 15:23:29.4829 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3659 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Here is a set of patches targeting for performance improvement on various platforms and protocols. Our main target was rx performance on iommu systems, notably NVIDIA Jetson TX2 and NVIDIA Xavier platforms. We introduce page reuse strategy to better deal with iommu dma mapping costs. With it we see 80-90% of page reuse under some test configurations on UDP traffic. This shows good improvements on other systems with IOMMU hardware, like AMD Ryzen. We've also improved TCP LRO configuration parameters, allowing packets to better coalesce. Page reuse tests were carried out using iperf3, iperf2, netperf and pktgen. Mainly on UDP traffic, with various packet lengths. Jetson TX2, UDP, Default MTU: RX Lost Datagrams Before: Max: 69% Min: 68% Avg: 68.5% After: Max: 41% Min: 38% Avg: 39.2% Maximum throughput Before: 1.27 Gbits/sec After: 2.41 Gbits/sec AMD Ryzen 5 2400G, UDP, Default MTU: RX Lost Datagrams Before: Max: 12% Min: 4.5% Avg: 7.17% After: Max: 6.2% Min: 2.3% Avg: 4.26% Igor Russkikh (6): net: aquantia: optimize rx path using larger preallocated skb len net: aquantia: optimize rx performance by page reuse strategy net: aquantia: Introduce rx refill threshold value net: aquantia: Make RX default frame size 2K net: aquantia: Increase rx ring default size from 1K to 2K net: aquantia: enable driver build for arm64 or compile_test Nikita Danilov (1): net: aquantia: improve LRO configuration drivers/net/ethernet/aquantia/Kconfig | 3 +- .../net/ethernet/aquantia/atlantic/aq_cfg.h | 10 +- .../net/ethernet/aquantia/atlantic/aq_nic.c | 1 + .../net/ethernet/aquantia/atlantic/aq_nic.h | 1 + .../net/ethernet/aquantia/atlantic/aq_ring.c | 187 +++++++++++++----- .../net/ethernet/aquantia/atlantic/aq_ring.h | 34 +++- .../net/ethernet/aquantia/atlantic/aq_vec.c | 3 + .../aquantia/atlantic/hw_atl/hw_atl_a0.c | 4 - .../aquantia/atlantic/hw_atl/hw_atl_b0.c | 16 +- .../atlantic/hw_atl/hw_atl_b0_internal.h | 2 +- .../aquantia/atlantic/hw_atl/hw_atl_llh.c | 15 ++ .../aquantia/atlantic/hw_atl/hw_atl_llh.h | 6 + .../atlantic/hw_atl/hw_atl_llh_internal.h | 13 ++ 13 files changed, 223 insertions(+), 72 deletions(-)