From patchwork Fri Jul 2 06:18:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suanming Mou X-Patchwork-Id: 95175 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 42B75A0A0C; Fri, 2 Jul 2021 08:21:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 65697413C4; Fri, 2 Jul 2021 08:19:13 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2060.outbound.protection.outlook.com [40.107.93.60]) by mails.dpdk.org (Postfix) with ESMTP id 50B8B413C4 for ; Fri, 2 Jul 2021 08:19:12 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sj2isn9xwTW0fQCxX/4gZsquaG/E2PYAzvo+UmO6+GCMNc264F6KFfm4IcZ+Q0cxQR4IeLOoq84yvbVogtjVWWnazIwOr/PP6wvnZYNp4XWiLMtjraxxxMinZFTpzWOTXwaSSE1xEZuiEP2oLtjNeASCjs31/btMzmPWW5Np8i1lUMh52ONxxSEabEFnPG+E6r55IkceQeaAZd4B1PocRPHdVqSOTWmWaVYGPkUqzs3/+pzKy8HzISoQRLxgBiVC1yLj8o41cHH/RKwACAVQFauE1nNcQaw0MQkwlz1yLMZ+lWuVGjDo8JakmwFSuZqDTfnIWBXeVi3ggDJlCxZI5w== 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=jf0WosUb0J5nOPlTECv5/FZR9BpVRZ49Qsp8jXrWDVM=; b=GUT8pgpXgpNZ9zEYsRcCzv7LQ8juEIDxp+1TmY4DNN1H+tjGyXD5KrLCLP8lH+RxSIAzG2R6YurOUIM7qkyVK7eTeJXb25Xpqp3ka52fgENTWzBbDcJ3G4nhm1fK3UvxR6ZDmFMsfSLs2S+4rSmXZSwNx05PpWqs4rMitma5DUuBuT1JTvs2lLrzvPwD/oHLFYkYUMjhLteidzhBr+cSjPyQCiJxBvRuBQmbwpWL5+XWVyJQ7EIUA45Cj8inMEfpBShyNspuMLMweWjnHjq8SDIUCUpJfI9arOlmvcmYaGllTLPt5R7yUiddcFiKrXJ7ilUHVrP9+8npWhP0l/Z0bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jf0WosUb0J5nOPlTECv5/FZR9BpVRZ49Qsp8jXrWDVM=; b=nunkSdu/tu1dUHEHpvldS0Om9EQ763RoZ2bNz5wVOCiQrwp/Pf1EXyEM3c8XzRSCBB96y7P/HJQ9TEi03q58ODnpj/kzyEcb2Ex1Q4A1zQt/HQB1aO9uvaLX/4gZtJXz6nXfZqIN5PpnkWwNgOlj76gOuLDhixZK314U3HRtA/hAdO2Q4LI/gjoRM1IlA8bTp1JMhfZtssrrXI/fxpBXJ0c/8dxsXHAHQ3UpoKrBk7RcvkOAPmHuM0vI4aXtnNV7se3OXYuDoNRkWiyJUrWIKFy3VwlDOLFyX3PysdC4/ovP5tBUZnF2Qpx7CIQbp3kTkaSuGXX8spVV7l86p/hHWA== Received: from BN0PR04CA0170.namprd04.prod.outlook.com (2603:10b6:408:eb::25) by DM4PR12MB5167.namprd12.prod.outlook.com (2603:10b6:5:396::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.21; Fri, 2 Jul 2021 06:19:11 +0000 Received: from BN8NAM11FT059.eop-nam11.prod.protection.outlook.com (2603:10b6:408:eb:cafe::82) by BN0PR04CA0170.outlook.office365.com (2603:10b6:408:eb::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Fri, 2 Jul 2021 06:19:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT059.mail.protection.outlook.com (10.13.177.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4287.22 via Frontend Transport; Fri, 2 Jul 2021 06:19:10 +0000 Received: from nvidia.com (172.20.187.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 2 Jul 2021 06:19:07 +0000 From: Suanming Mou To: , CC: , , Date: Fri, 2 Jul 2021 09:18:16 +0300 Message-ID: <20210702061816.10454-23-suanmingm@nvidia.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20210702061816.10454-1-suanmingm@nvidia.com> References: <20210527093403.1153127-1-suanmingm@nvidia.com> <20210702061816.10454-1-suanmingm@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 53b8b4f9-a1ff-4a49-7190-08d93d214e89 X-MS-TrafficTypeDiagnostic: DM4PR12MB5167: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:202; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E2ZQwy3DyXhOV/YBkEpQeCqSHcQbnT4t5V23GhbPdIAvufDE8gt3fMrmjCzLgcnqnlniMdgs4rk8HCRfacOBUDmUo+JHmEND9BHRmSO5yn0oIe61luX051aNzJSdw+u+/MJ18h2k9yvk0CNNdtgofMmfl2lH7hweUOu023FqOM4gxKJVkZbobe+QvtCKvjHUpVLF/gDuz9BbqDtzaJJsfdbF52IB9suTJRiLT0Ao0S/BAZ0ng0YbUcCHQgNx6GJl8HNPZLl1q31cIi8tbw+0UsKU7P6KTp44Wwj1Kv3hhI7W/sv324dO14Bz1Z+7bs2RdSQ1n70kUJWamziSr2qgCZogkeDZCMNG5nuHMeoftERlnSxf4xbs/U0Ys/BxFDC/KogqF/YlHBXXLNQrXor3Y89xPoowZVMgG+CLiVyxDcmcjteXXJqQrGKB+a4Gi4S/W8BxIxZAjfFOxmk0J3kE6vf4TbqSF/7FGMDus3dBX8zuUXr03vGF2HHWnFOPwq7M5Wa8KGEuMHQaWpURb0p5wnqeAgGQh6xD3hCR/G5vnD9DAcsgHLHzQPyDtHxKXKkI6maLwfFnOjyFywqcbb3zug3RgNgK6cDYngHFySEMfYsSdF58iS3MYnYJRnfh04mnHVeCb5L4APl5qnnW3z9UtjYzgZ/afZ+OxCwBvTjAys6SIpJ8WcWySfQTx3DgPazOfgdRkO0nNpr5mSddadXw4Q== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(396003)(346002)(136003)(376002)(39860400002)(36840700001)(46966006)(478600001)(54906003)(6286002)(26005)(83380400001)(186003)(82740400003)(4326008)(36906005)(336012)(426003)(7696005)(2906002)(110136005)(86362001)(316002)(6636002)(2616005)(16526019)(47076005)(7636003)(55016002)(70206006)(356005)(70586007)(8936002)(36860700001)(82310400003)(8676002)(1076003)(5660300002)(6666004)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2021 06:19:10.8572 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53b8b4f9-a1ff-4a49-7190-08d93d214e89 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT059.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5167 Subject: [dpdk-dev] [PATCH v3 22/22] net/mlx5: optimize Rx queue match 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" As hrxq struct has the indirect table pointer, while matching the hrxq, better to use the hrxq indirect table instead of searching from the list. This commit optimizes the hrxq indirect table matching. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_rxq.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 7893b3edd4..23685d7654 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -2094,23 +2094,19 @@ mlx5_ind_table_obj_modify(struct rte_eth_dev *dev, } int -mlx5_hrxq_match_cb(void *tool_ctx, struct mlx5_list_entry *entry, void *cb_ctx) +mlx5_hrxq_match_cb(void *tool_ctx __rte_unused, struct mlx5_list_entry *entry, + void *cb_ctx) { - struct rte_eth_dev *dev = tool_ctx; struct mlx5_flow_cb_ctx *ctx = cb_ctx; struct mlx5_flow_rss_desc *rss_desc = ctx->data; struct mlx5_hrxq *hrxq = container_of(entry, typeof(*hrxq), entry); - struct mlx5_ind_table_obj *ind_tbl; - if (hrxq->rss_key_len != rss_desc->key_len || + return (hrxq->rss_key_len != rss_desc->key_len || memcmp(hrxq->rss_key, rss_desc->key, rss_desc->key_len) || - hrxq->hash_fields != rss_desc->hash_fields) - return 1; - ind_tbl = mlx5_ind_table_obj_get(dev, rss_desc->queue, - rss_desc->queue_num); - if (ind_tbl) - mlx5_ind_table_obj_release(dev, ind_tbl, hrxq->standalone); - return ind_tbl != hrxq->ind_table; + hrxq->hash_fields != rss_desc->hash_fields || + hrxq->ind_table->queues_n != rss_desc->queue_num || + memcmp(hrxq->ind_table->queues, rss_desc->queue, + rss_desc->queue_num * sizeof(rss_desc->queue[0]))); } /**