From patchwork Wed Oct 10 16:14:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ophir Munk X-Patchwork-Id: 981980 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=mellanox.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="vBUppj9a"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42VfMF4R5hz9sB7 for ; Thu, 11 Oct 2018 03:15:05 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 02194890; Wed, 10 Oct 2018 16:14:19 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 2036888D for ; Wed, 10 Oct 2018 16:14:17 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0088.outbound.protection.outlook.com [104.47.0.88]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 5388C773 for ; Wed, 10 Oct 2018 16:14:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WX4RepOJSTtwaYYTebKVAYXPWIjpkdXjyUM7ZV/ySbw=; b=vBUppj9aPx1C7TOF9mpyDAc5u8Ds+m769TDuD9LvEuH2O+8OpF1/0Ddvw6nwRyniQrdwRRdVAnwwPM0uJYz2WlpqwvIWvKERE/Y9EAu97DhbBEcbyMPLFBTZqoM5BufDypZBZeiLjGjLc/isNGe/MFlMD6sqIMJms886D/KZ6vs= Received: from VI1PR0502MB3743.eurprd05.prod.outlook.com (52.134.8.154) by VI1PR0502MB3790.eurprd05.prod.outlook.com (52.134.9.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.28; Wed, 10 Oct 2018 16:14:11 +0000 Received: from VI1PR0502MB3743.eurprd05.prod.outlook.com ([fe80::fd5f:be55:2063:d2de]) by VI1PR0502MB3743.eurprd05.prod.outlook.com ([fe80::fd5f:be55:2063:d2de%3]) with mapi id 15.20.1228.020; Wed, 10 Oct 2018 16:14:11 +0000 From: Ophir Munk To: "ovs-dev@openvswitch.org" Thread-Topic: [dpdk-howl PATCH v5 2/2] netdev-dpdk: Set scatter based on capabilities Thread-Index: AQHUYLRHN9zRXkeg/E6bgHiIEhauTQ== Date: Wed, 10 Oct 2018 16:14:11 +0000 Message-ID: <1539188042-20673-2-git-send-email-ophirmu@mellanox.com> References: <1537382075-26789-1-git-send-email-ophirmu@mellanox.com> <1539188042-20673-1-git-send-email-ophirmu@mellanox.com> In-Reply-To: <1539188042-20673-1-git-send-email-ophirmu@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: DB6PR07CA0004.eurprd07.prod.outlook.com (2603:10a6:6:2d::14) To VI1PR0502MB3743.eurprd05.prod.outlook.com (2603:10a6:803:11::26) authentication-results: spf=none (sender IP is ) smtp.mailfrom=ophirmu@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [37.142.13.130] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR0502MB3790; 6:pQoWbnqQocV0qn3ilKKz+zguAAEZId7MAmflYVwPPrCaKOhPA8/gF+OOzMpErf2TqVJpFqenkkvpjDHGM11CFt6hgSuOJ3d9Ye52T70Sy9Jg2U/bkMFxDFUNcGfbIluZTdiLqcHE5Y7TKSt5g0UIJJ/ZUxBllUxa7Qd93cnD+Y0h9r+N+0mX7bHgZNRv+GZ/neuC5A77u6+dlG02X5axPOobc9Eg41NMlqkiPBjD4ZtNw20Zprq56+0fGg1UZpxph/cTEmj8GLREkCnX4ymLQyh2GwMyDiiiAv3CGlcWm1XozG6KlpRo+GuBLKr2FtSgJMF3yw3XvBPKe9VKMvYwMEVnqF12IZU4/nPsQFVc5Xf1StYBh7CsEGYd8R/AGijHqCVJCJEXtyvdTDKXmEzbZvlnrq90OxH5CgkXFKE3rsJQjoM3XYXUBMyCK2DNYCUMZ4OALSvJq4rkuKtWxL6hKQ==; 5:vJp/2e/UUlRsPRIBB74h5cZXCrGMeAvHxFqZWncGA9GrifGsrhksly2+K004DQbqaFsUGX5x4LxIPJSeKfWPUnqioZ2H2iQrJygwQ3GH7KEIzpESghgp0a/zbGJ45XEqx3xIdXODD2jTBSVSZz41IL75GeEDKTTEopFco9Wdhrg=; 7:vwyAu8zuNTJ0YzmSCC2AjNnmA1dc6Jb6D+WPKpaDPLZEuw3YDUKfNsqzctWKpfMqOA4VFPa4wb1cWXK+rpC0pv1Tw8JAoUWQwo9inZNZijarVwMo8JTuk5wmhj0eGrYnCciHpk7QfqB0hqPKwwRI3jzaXrX2Wzt/u+/9SoaJK/H9cdYugA4Cu4s5kwwMg4nhUI3GDgUJDsvydOXsZss6adlzLqEvtWcNEd6V5FDcLj4GOGFC7MxMoGvSxtk09XA2 x-ms-office365-filtering-correlation-id: e92ab35b-132d-4059-1cc2-08d62ecb6a4e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0502MB3790; x-ms-traffictypediagnostic: VI1PR0502MB3790: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(211171220733660); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(3231355)(944501410)(52105095)(93006095)(93001095)(10201501046)(6055026)(149066)(150057)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699051)(76991055); SRVR:VI1PR0502MB3790; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0502MB3790; x-forefront-prvs: 08213D42D3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(376002)(136003)(39860400002)(366004)(199004)(189003)(305945005)(5250100002)(86362001)(52116002)(575784001)(8936002)(6436002)(6506007)(386003)(102836004)(316002)(6116002)(486006)(2616005)(66066001)(99286004)(446003)(476003)(6486002)(3846002)(5640700003)(2501003)(68736007)(11346002)(4326008)(14454004)(106356001)(25786009)(6916009)(105586002)(2906002)(6512007)(54906003)(76176011)(478600001)(81166006)(8676002)(81156014)(36756003)(5660300001)(2900100001)(97736004)(7736002)(186003)(71200400001)(26005)(71190400001)(53936002)(256004)(2351001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0502MB3790; H:VI1PR0502MB3743.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: fwa8t4YOsFdasT6pipoYnSZID06nBoALuK07YF8w7ImAU8WUumOoKX98WO1gr2EFOLTTnUxxIZr/HLe0Mk7RQ/oZehnxvDEZLwhdZIThj7Bg8marTIsIF5B4WK32i9E0XlWfw8aSDeQ6qREe5LgjD8mxTF30fI7dEqQEwmN8ct6dGJD9d1Z9g8fRA4eb4uXR5nypcWsgnNCR7kRWL2LaXlO++WLbxGnllATVjB+/HrEkB5uxB0fh8ygeXiW8mMPI1Ov2BPoKRMaM4wlbMirD/Ak22kiT24PLeIofGKXEzqgd8HDaTs0lkDdJ0VEFzNPUZKaRju/xJn6DE+PsKufboE4+U0w3zW6o6G1I/BHiW1I= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: e92ab35b-132d-4059-1cc2-08d62ecb6a4e X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2018 16:14:11.9059 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB3790 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Shahaf Shuler , Asaf Penso , Thomas Monjalon Subject: [ovs-dev] [dpdk-howl PATCH v5 2/2] netdev-dpdk: Set scatter based on capabilities X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Before this commit setting scatter offload was based on checking net_nfp device. Since DPDK 17.11 more PMD drivers are reporting offload capabilities. Therefore this commit removes the specific check against net_nfp device and replaces it with a generic check of device capabilities before setting the scatter offload. Signed-off-by: Ophir Munk Acked-by: Eelco Chaudron --- v1-v4 This patch was not included in version v1-v4 of the series v5 Initial version lib/netdev-dpdk.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 4dd0ec3..ecca276 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -367,6 +367,7 @@ struct ingress_policer { enum dpdk_hw_ol_features { NETDEV_RX_CHECKSUM_OFFLOAD = 1 << 0, NETDEV_RX_HW_CRC_STRIP = 1 << 1, + NETDEV_RX_HW_SCATTER = 1 << 2 }; /* @@ -894,13 +895,11 @@ dpdk_eth_dev_port_config(struct netdev_dpdk *dev, int n_rxq, int n_txq) rte_eth_dev_info_get(dev->port_id, &info); /* As of DPDK 17.11.1 a few PMDs require to explicitly enable - * scatter to support jumbo RX. Checking the offload capabilities - * is not an option as PMDs are not required yet to report - * them. The only reliable info is the driver name and knowledge - * (testing or code review). Listing all such PMDs feels harder - * than highlighting the one known not to need scatter */ + * scatter to support jumbo RX. + * Setting scatter for the device is done after checking for + * scatter support in the device capabilites. */ if (dev->mtu > ETHER_MTU) { - if (strncmp(info.driver_name, "net_nfp", 7)) { + if (dev->hw_ol_features & NETDEV_RX_HW_SCATTER) { conf.rxmode.offloads |= DEV_RX_OFFLOAD_SCATTER; } } @@ -1035,6 +1034,13 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev) dev->hw_ol_features |= NETDEV_RX_CHECKSUM_OFFLOAD; } + if (info.rx_offload_capa & DEV_RX_OFFLOAD_SCATTER) { + dev->hw_ol_features |= NETDEV_RX_HW_SCATTER; + } else { + /* Do not warn on lack of scatter support */ + dev->hw_ol_features &= ~NETDEV_RX_HW_SCATTER; + } + n_rxq = MIN(info.max_rx_queues, dev->up.n_rxq); n_txq = MIN(info.max_tx_queues, dev->up.n_txq);