From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4CA6DC7618F for ; Mon, 22 Jul 2019 16:49:29 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id C7E8521901 for ; Mon, 22 Jul 2019 16:49:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="X0uL4cXM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C7E8521901 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mellanox.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C18001BF16; Mon, 22 Jul 2019 18:49:27 +0200 (CEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00062.outbound.protection.outlook.com [40.107.0.62]) by dpdk.org (Postfix) with ESMTP id E6E6D1BEF9 for ; Mon, 22 Jul 2019 18:49:26 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V66U/8KIO2KRj4GJkdCjUAadxNxvD7Cl1P7GnG/48bF34XPbI/i/37WJ5R4Zbj/Ly+fFNC5aGp+EaSei8qv0IKicLwF9pUOqTcwePmR/6jXvtnHSKEbouPCsUCbOIwxAlMQ3H4syc0Rph36gkJAPEPiaPZVNHyJt9DRBLVgvzig74TLxsJ9BhejD+w09U6NzKsQXQJYR+vhBy6I9as85+WFS63htR8aOEq8FrRcCbU7dRiwaQDdUw0OihhP10urDkKYY51rLujJBJkrgMu7C7tEabpTan9egLjxgmd9xdcKQzVaJXFmuyL5+629s559H6zQKy/Uu9sIeoCjl/g1cmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cqYUDy9hU293vKaCiNbWbJqGmI61aINaSWd0akSIAK8=; b=ODI5gxfNDsDfc9BvEmRTlkDMm3saWzx9fnj7FIyelY1vWfDEdZ2oDHCFZYL3ibgybuxwyHjynGlnpYlscysvCtNB6S68wqvgDbbuaORZG8ZJCIDedN850niC1lJy+6z7nueGqbH5UzthgSX+umbLXArD0cWpuwEC8vCKz9V5uc5/CZNY8/7AKojGvx/Asol8/GhLk0pZWExf32Bkj+ZQPS66xfgw9yIZX0ZGxK9WCe42AjvdTVKEQwfRh6tkOGd0KC+RopBJc6NCFKqL428r+UgdSHyl27iy5ELA/i5Q7mkzLHVYIWLj2fq1ljM2KFgAM/9oFL6E7HqODN0/bAKoWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=mellanox.com;dmarc=pass action=none header.from=mellanox.com;dkim=pass header.d=mellanox.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cqYUDy9hU293vKaCiNbWbJqGmI61aINaSWd0akSIAK8=; b=X0uL4cXM7WrXkJJr2RSBbXAatQvGKVSkIvyGF4n7aVfpLTWCK0W3dhoSpEXaPzcx2FofOOFHwu1yUlBsqfg3nhXYMSvZdtMIdjJz6VpKTkMDfGEze7yzXRhUvtms4VKnLKzniPIbuYYVX9r+SMVSTrMspCCg8Jp5/FqiGQqkW24= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB4089.eurprd05.prod.outlook.com (52.134.68.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2094.16; Mon, 22 Jul 2019 16:49:24 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::69c1:c0d7:1fa1:f89f]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::69c1:c0d7:1fa1:f89f%6]) with mapi id 15.20.2094.013; Mon, 22 Jul 2019 16:49:24 +0000 From: Yongseok Koh To: Ferruh Yigit CC: Slava Ovsiienko , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v4 6/8] net/mlx5: introduce Tx burst routine template Thread-Index: AQHVP9A0Uny3yXFvDk2rgbqK+ECIHqbWiH2AgAAUpQCAAD0EgIAAAQ2A Date: Mon, 22 Jul 2019 16:49:24 +0000 Message-ID: <0ACF5D0D-DA22-4583-97A1-B792B13A8A87@mellanox.com> References: <1563346400-1762-1-git-send-email-viacheslavo@mellanox.com> <1563719100-368-1-git-send-email-viacheslavo@mellanox.com> <1563719100-368-7-git-send-email-viacheslavo@mellanox.com> <980c7f61-d6b2-f794-8405-62ee1a339870@intel.com> <11bf6559-2128-81c8-23ee-5c88a82b9b51@intel.com> In-Reply-To: <11bf6559-2128-81c8-23ee-5c88a82b9b51@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7689527d-234a-4381-c034-08d70ec48d9d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:DB3PR0502MB4089; x-ms-traffictypediagnostic: DB3PR0502MB4089: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 01068D0A20 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(199004)(189003)(13464003)(14444005)(256004)(6436002)(476003)(2616005)(54906003)(316002)(53546011)(3846002)(229853002)(6116002)(6506007)(2906002)(25786009)(7736002)(6486002)(305945005)(68736007)(33656002)(5660300002)(76176011)(66066001)(4326008)(86362001)(26005)(53936002)(81156014)(81166006)(478600001)(6246003)(186003)(8936002)(6916009)(14454004)(64756008)(66556008)(66476007)(102836004)(486006)(66946007)(36756003)(66446008)(446003)(71190400001)(71200400001)(11346002)(8676002)(91956017)(76116006)(6512007)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB4089; H:DB3PR0502MB3980.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 0dP6EuL41raTxIeiI5dituW98yJX/wcROHg5+EXV4PPZDAXNbTrBv75uOCIaP+PbDJFGLN+GreEe4KxJ63EmnWN+vso+0Wb7vyFwr16ph5nmsB+kn6bkvJaOrBo09QN1IfU6joSd3K7RVMDS6bOReTjlU4Gulf428em33WM1YLn9M6T0Stl9uAdBaZgDMqz84Vt5wpgtntj2TJCY0tUJvX9o5M4yPMjLisaNaWpbEkF/NZht8bvMhQ8mDQUKHXE00jIyYL+IS2LAuDaTV3EP5WwqrhjBzoJJ00WTcPGaTn1dbZpIYNDc5anSWbiJchMDmDPBbAncS45H9dCgl192zlXtFvOXcvaxI5mVX3ev2cefI7cmw9YG/DLNIZFiacCtKA8vtgw1AKZLGpyxXRDTxETPC6eyjXPhVadXUTU+8pU= Content-Type: text/plain; charset="us-ascii" Content-ID: <4042EA82CD3CD3479C18C82486EBC66F@eurprd05.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7689527d-234a-4381-c034-08d70ec48d9d X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2019 16:49:24.6680 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yskoh@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB4089 Subject: Re: [dpdk-dev] [PATCH v4 6/8] net/mlx5: introduce Tx burst routine template X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > On Jul 22, 2019, at 9:45 AM, Ferruh Yigit wrote: >=20 > On 7/22/2019 2:07 PM, Slava Ovsiienko wrote: >>> -----Original Message----- >>> From: Ferruh Yigit >>> Sent: Monday, July 22, 2019 14:53 >>> To: Slava Ovsiienko ; dev@dpdk.org >>> Cc: Yongseok Koh >>> Subject: Re: [dpdk-dev] [PATCH v4 6/8] net/mlx5: introduce Tx burst rou= tine >>> template >>>=20 >>> On 7/21/2019 3:24 PM, Viacheslav Ovsiienko wrote: >>>> Mellanox NICs support the wide set of Tx offloads. The supported >>>> offloads are reported by the mlx5 PMD in rte_eth_dev_info >>>> tx_offload_capa field. An application may choose any combination of >>>> supported offloads and configure the device appropriately. Some of Tx >>>> offloads may be not requested by application, or ever all of them may = be >>> omitted. >>>> Most of the Tx offloads require some code branches in tx_burst routine >>>> to support ones. If Tx offload is not requested the tx_burst routine >>>> code may be significantly simplified and consume less CPU cycles. >>>>=20 >>>> For example, if application does not engage TSO offload this code can >>>> be omitted, if multi-segment packet is not supposed the tx_burst may >>>> assume single mbuf packets only, etc. >>>>=20 >>>> Currently, the mlx5 PMD implements multiple tx_burst subroutines for >>>> most common combinations of requested Tx offloads, each branch has its >>>> own dedicated implementation. It is not very easy to update, support >>>> and develop such kind of code - multiple branches impose the multiple >>>> points to process. Also many of frequently requested offload >>>> combinations are not supported yet. That leads to selecting of not >>>> completely matching tx_burst routine and harms the performance. >>>>=20 >>>> This patch introduces the new approach for tx_burst code. It is >>>> proposed to develop the unified template for tx_burst routine, which >>>> supports all the Tx offloads and takes the compile time defined >>>> parameter describing the supposed set of supported offloads. On the >>>> base of this template, the compiler is able to generate multiple >>>> tx_burst routines highly optimized for the statically specified set of= Tx >>> offloads. >>>> Next, in runtime, at Tx queue configuration the best matching >>>> optimized implementation of tx_burst is chosen. >>>>=20 >>>> This patch intentionally omits the template internal implementation, >>>> but just introduces the template itself to emboss the approach of the >>>> multiple specially tuned tx_burst routines. >>>>=20 >>>> Signed-off-by: Viacheslav Ovsiienko >>>=20 >>> Getting following build error with icc, can you please check? >>>=20 >>>=20 >>> .../dpdk/drivers/net/mlx5/mlx5_rxtx.c(4649): error #191: type qualifier= is >>> meaningless on cast type >>>=20 >>>=20 >>> MLX5_TXOFF_DECL(full_empw, >>>=20 >> Sorry, I have no icc at my disposal now. What I can say (sorry again, it= is obvious)=20 >> - It definitely does not like the MLX5_TXOFF_DECL macro. Most likely - "= restrict" qualifier, I think. >>=20 >> With best regards, Slava >>=20 >=20 > Hi Slava, >=20 > I was hoping error log can give enough hint, but I tested by removing the > 'restrict' keyword and it fixed the icc warning. >=20 > Can you please check if the 'icc' is right and 'restrict' is meaningless,= if so > can you please send a patch to remove it? > else please let me know and I can make a patch to disable the specific ic= c warning. Yes, it looks quite obvious from the error message. mlx5_tx_burst_tmpl() ha= s the qualifier, so compiler thinks it isn't necessary. Slava is testing it with gcc/clang. He will get back to you soon. Thanks, Yongseok=