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=-11.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=ham 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 42733C433B4 for ; Mon, 12 Apr 2021 06:32:37 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id BE1E261209 for ; Mon, 12 Apr 2021 06:32:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BE1E261209 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1CF82141510; Mon, 12 Apr 2021 08:32:36 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id 1EE25141513 for ; Mon, 12 Apr 2021 08:32:34 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from michaelba@nvidia.com) with SMTP; 12 Apr 2021 09:32:33 +0300 Received: from nvidia.com (pegasus07.mtr.labs.mlnx [10.210.16.112]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 13C6WXrC025433; Mon, 12 Apr 2021 09:32:33 +0300 From: Michael Baum To: dev@dpdk.org Cc: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko Date: Mon, 12 Apr 2021 06:32:19 +0000 Message-Id: <1618209145-3055-1-git-send-email-michaelba@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1617631256-3018-1-git-send-email-michaelba@nvidia.com> References: <1617631256-3018-1-git-send-email-michaelba@nvidia.com> Subject: [dpdk-dev] [PATCH v2 0/6] net/mlx5: reduce Tx datapath compile time X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" The mlx5_rxtx.c file contains a lot of Tx burst functions, each of those is performance-optimized for the specific set of requested offloads. These ones are generated on the basis of the template function and it takes significant time to compile, just due to a large number of giant functions generated in the same file and this compilation is not being done in parallel with using multithreading. Therefore, in this series we split the mlx5_rxtx.c file into several separate files to allow different functions to be compiled simultaneously. v2: fix compilation error + rebase Michael Baum (6): net/mlx5: separate Rx function declarations to another file net/mlx5: separate Rx function implementations to new file net/mlx5: separate Tx function declarations to another file net/mlx5: separate Tx burst template to header file net/mlx5: separate Tx function implementations to new file net/mlx5: separate Tx burst functions to different files drivers/net/mlx5/linux/mlx5_mp_os.c | 2 + drivers/net/mlx5/linux/mlx5_os.c | 2 + drivers/net/mlx5/linux/mlx5_verbs.c | 3 +- drivers/net/mlx5/meson.build | 6 + drivers/net/mlx5/mlx5.c | 2 + drivers/net/mlx5/mlx5_devx.c | 3 +- drivers/net/mlx5/mlx5_ethdev.c | 2 + drivers/net/mlx5/mlx5_flow.c | 3 +- drivers/net/mlx5/mlx5_flow_dv.c | 3 +- drivers/net/mlx5/mlx5_flow_verbs.c | 2 +- drivers/net/mlx5/mlx5_mr.c | 2 + drivers/net/mlx5/mlx5_rss.c | 1 + drivers/net/mlx5/mlx5_rx.c | 1203 ++++++++ drivers/net/mlx5/mlx5_rx.h | 598 ++++ drivers/net/mlx5/mlx5_rxmode.c | 1 - drivers/net/mlx5/mlx5_rxq.c | 3 +- drivers/net/mlx5/mlx5_rxtx.c | 5468 +---------------------------------- drivers/net/mlx5/mlx5_rxtx.h | 915 +----- drivers/net/mlx5/mlx5_rxtx_vec.c | 1 + drivers/net/mlx5/mlx5_stats.c | 3 +- drivers/net/mlx5/mlx5_trigger.c | 3 +- drivers/net/mlx5/mlx5_tx.c | 780 +++++ drivers/net/mlx5/mlx5_tx.h | 3734 ++++++++++++++++++++++++ drivers/net/mlx5/mlx5_tx_empw.c | 71 + drivers/net/mlx5/mlx5_tx_mpw.c | 34 + drivers/net/mlx5/mlx5_tx_nompw.c | 71 + drivers/net/mlx5/mlx5_tx_txpp.c | 45 + drivers/net/mlx5/mlx5_txpp.c | 3 +- drivers/net/mlx5/mlx5_txq.c | 2 + drivers/net/mlx5/mlx5_vlan.c | 1 + drivers/net/mlx5/windows/mlx5_os.c | 2 + 31 files changed, 6581 insertions(+), 6388 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_rx.c create mode 100644 drivers/net/mlx5/mlx5_rx.h create mode 100644 drivers/net/mlx5/mlx5_tx.c create mode 100644 drivers/net/mlx5/mlx5_tx.h create mode 100644 drivers/net/mlx5/mlx5_tx_empw.c create mode 100644 drivers/net/mlx5/mlx5_tx_mpw.c create mode 100644 drivers/net/mlx5/mlx5_tx_nompw.c create mode 100644 drivers/net/mlx5/mlx5_tx_txpp.c -- 1.8.3.1