Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/102318/?format=api
https://patches.dpdk.org/api/patches/102318/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20211019205602.3188203-14-michaelba@nvidia.com/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20211019205602.3188203-14-michaelba@nvidia.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20211019205602.3188203-14-michaelba@nvidia.com", "date": "2021-10-19T20:55:57", "name": "[v3,13/18] common/mlx5: add MR ctrl init function", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "cc893c6f3b29b44cd7d422a235386b4dc12087fa", "submitter": { "id": 1949, "url": "https://patches.dpdk.org/api/people/1949/?format=api", "name": "Michael Baum", "email": "michaelba@nvidia.com" }, "delegate": { "id": 1, "url": "https://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20211019205602.3188203-14-michaelba@nvidia.com/mbox/", "series": [ { "id": 19808, "url": "https://patches.dpdk.org/api/series/19808/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=19808", "date": "2021-10-19T20:55:44", "name": "mlx5: sharing global MR cache between drivers", "version": 3, "mbox": "https://patches.dpdk.org/series/19808/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/102318/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/102318/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id CCD21A0C41;\n\tTue, 19 Oct 2021 22:58:07 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E9C9341100;\n\tTue, 19 Oct 2021 22:57:19 +0200 (CEST)", "from NAM11-BN8-obe.outbound.protection.outlook.com\n (mail-bn8nam11on2054.outbound.protection.outlook.com [40.107.236.54])\n by mails.dpdk.org (Postfix) with ESMTP id EF61A4113A\n for <dev@dpdk.org>; Tue, 19 Oct 2021 22:56:52 +0200 (CEST)", "from BN9PR03CA0906.namprd03.prod.outlook.com (2603:10b6:408:107::11)\n by BN7PR12MB2659.namprd12.prod.outlook.com (2603:10b6:408:27::11)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.18; Tue, 19 Oct\n 2021 20:56:47 +0000", "from BN8NAM11FT035.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:107:cafe::96) by BN9PR03CA0906.outlook.office365.com\n (2603:10b6:408:107::11) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17 via Frontend\n Transport; Tue, 19 Oct 2021 20:56:47 +0000", "from mail.nvidia.com (216.228.112.34) by\n BN8NAM11FT035.mail.protection.outlook.com (10.13.177.116) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4608.15 via Frontend Transport; Tue, 19 Oct 2021 20:56:46 +0000", "from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com\n (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 19 Oct\n 2021 20:56:45 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=AmQOpl0/vrBIHupT5BgVn9oDySWaRiUCB488Uks+wBdT+OqUrle5wXnMZYVtaEyTb8QG+aJIBUOkSM4ewbDGCO2GyYKEfhH9N5mRfJl7KhLYFE8LFSq/QLr0m1Pp+zz2c4h9cXY9idSFIfaiQLB3eMrnL82/SkHdagETdLjyF2Nmh44MGgJmx6OdVes5DRPFIIcRsojfH6vrsfnD0DsDl8WOg+LH1c27iGyhGmMhkcRRs0AN5Hu93Gp9HlP2Inkz5+Dr8pz4fNaoYCbtvuO2JnM5p5ztpcW8oZDBWNTSgpIjU7tjr6bdJ0tei4fq8P3vnHrYr3Qw18PVC7SsKKNJQg==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=4h+8fKLMTnzFIXM4CRj3WhtDonOAqLcWQS5/Qp7wa3Y=;\n b=LTcs/emiiHXuyZZgMmPNxJU8fiWScGulPPQXY5NnOgvJ26cDjhYOwdXigiDF3aIe/ZS6ERKzom/AYL9pjtiuty4V6wOMimKlLSpOfxI5Neebers+d1Ngt/9SPqXLKqI/wbo13+k27cXjqUyBYlIqogKd0Pie4wrFZSo1tJZL+oxQM92aAqT0FLtybZFCFCvFZ/dpybMukwYGWAvZd+aUaCRhiX4QQnnjqn1cEjSXB42J1ia7lWL7CQUaiDFXR0XrlXDgU6qVuD1KL7ZjLurrg923GSc9FbUpB5lRu3MP1kws9QlLenVUubDG2Ii7FFKD8wwkiPni7QGYvpad8ksbSQ==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.34) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com;\n dmarc=pass (p=quarantine sp=quarantine pct=100) action=none\n header.from=nvidia.com; dkim=none (message not signed); arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=4h+8fKLMTnzFIXM4CRj3WhtDonOAqLcWQS5/Qp7wa3Y=;\n b=cFUuCL6vZUOaHNsK2PKdAcZaVh7all7KKi4wHYbQjcagxmbxi0W9iwRn2EfEYun2SbixCID3lk69vGND2rZNQOeIss0YVyjIxNjmfUFGWu3Jb4b1t6kmcClQQzWnNry6RlpZJKwKefSQ76SRzvKps4h2I7w8Hue+m8mIVy6BRePv5TeK7edF4HfiUBuOwhxN3p+pDfS3ZPnY8Fl4AE3dZ61Aehbsb3+Zm26RmJGccp6CehMrrPobCIqs4Fs0Xf9R0lbVmbmkerRW+p9QnsUJGfTw7nwQVZcvNWzIQdQyTNEjV2LtNWVY2ivKnBWKw+wJzzkTL41/N3O8rqPwV4Zqfg==", "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.34)\n smtp.mailfrom=nvidia.com; monjalon.net; dkim=none (message not signed)\n header.d=none;monjalon.net; dmarc=pass action=none header.from=nvidia.com;", "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.112.34 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.34; helo=mail.nvidia.com;", "From": "<michaelba@nvidia.com>", "To": "<dev@dpdk.org>", "CC": "Matan Azrad <matan@nvidia.com>, Thomas Monjalon <thomas@monjalon.net>,\n Michael Baum <michaelba@oss.nvidia.com>", "Date": "Tue, 19 Oct 2021 23:55:57 +0300", "Message-ID": "<20211019205602.3188203-14-michaelba@nvidia.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20211019205602.3188203-1-michaelba@nvidia.com>", "References": "<20211006220350.2357487-1-michaelba@nvidia.com>\n <20211019205602.3188203-1-michaelba@nvidia.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-Originating-IP": "[172.20.187.6]", "X-ClientProxiedBy": "HQMAIL101.nvidia.com (172.20.187.10) To\n HQMAIL107.nvidia.com (172.20.187.13)", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "1cdc9082-2acc-4aaa-dd8a-08d99342f6ee", "X-MS-TrafficTypeDiagnostic": "BN7PR12MB2659:", "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr", "X-Microsoft-Antispam-PRVS": "\n <BN7PR12MB2659B54EF0BE0A6EA109068ECCBD9@BN7PR12MB2659.namprd12.prod.outlook.com>", "X-MS-Oob-TLC-OOBClassifiers": "OLM:4714;", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n NNjFwzqGKBXnO/X3scrKlsvypG3KElQStT1ZUm68uk9WIz8KMh+smcFalncuOjo8KFwksmFcoB22UQKHxhY8q4syXiFUCO6ctjm72VTYhkDaMq9OttU4XHbCdtTtCmbw84szBUlK1Nl9uD8HmlyQq+eb4gIdA4mvEbJ4+R/GcS8GUcH5lISnwoMdYs0ydL2X0qAiDdEi6EPc9nlGoDEOH6ujHeX55eQB8azxyp761zLM1817KJPTTWulXAO1RW+g2xHZB1jIdPBUucSOYsYXgAwH6crhT1QbiJuLAEfnBB1JnXYQxtdcjKaXaUbJr6rHUnZNnKNA8527zz5LZaPM1Z28jBqZ6QEQHbHC6pwupC7Ej0dHbXEOZz7T6CJfGYoGxNxhLGn755zfm/CdKWEGD/mjdMMMoiTswEUNofrcj9KFSgMz5IvbUz+1bk0NKE/QnaGHYOp7XKLLvwL5xTWqFUGgCquqXDUv3dH8+7MQOCMz7xwYxWvceYchAGK5DwSOkI+jMoa3dOazwfsccL3m69ORy59ZZ9cY50Xd+K5aIJRE36+vja5f55ma7cW8xKf8jkcf0dDmrfJfqYYsESILaVHmVroKS3FLEa3PfJ0y0Qpb3eUSvBQ5RgL+ccaL+uWw2b9ZHjIFMkuNZmxQXiPcFVUh5iA0DqDUWbGjE9wJACWDQsD2raPQcKMHAAT+z9n3tF+n+cZmHD+Bb/ORTsL5VQ==", "X-Forefront-Antispam-Report": "CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE;\n SFS:(4636009)(36840700001)(46966006)(36860700001)(86362001)(82310400003)(356005)(107886003)(7636003)(47076005)(54906003)(83380400001)(316002)(426003)(36756003)(508600001)(7696005)(6666004)(55016002)(6286002)(2616005)(4326008)(336012)(8676002)(2876002)(70206006)(8936002)(186003)(16526019)(26005)(70586007)(1076003)(6916009)(5660300002)(2906002);\n DIR:OUT; SFP:1101;", "X-OriginatorOrg": "Nvidia.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Oct 2021 20:56:46.6621 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 1cdc9082-2acc-4aaa-dd8a-08d99342f6ee", "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34];\n Helo=[mail.nvidia.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT035.eop-nam11.prod.protection.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN7PR12MB2659", "Subject": "[dpdk-dev] [PATCH v3 13/18] common/mlx5: add MR ctrl init function", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "From: Michael Baum <michaelba@oss.nvidia.com>\n\nAdd function for MR control structure initialization.\nThis function include:\n - btree initialization.\n - dev_gen_ptr initialization.\n\nSigned-off-by: Michael Baum <michaelba@oss.nvidia.com>\nAcked-by: Matan Azrad <matan@nvidia.com>\n---\n drivers/common/mlx5/mlx5_common_mr.c | 28 +++++++++++++++++++++++++\n drivers/common/mlx5/mlx5_common_mr.h | 3 +++\n drivers/common/mlx5/version.map | 1 +\n drivers/compress/mlx5/mlx5_compress.c | 6 ++----\n drivers/crypto/mlx5/mlx5_crypto.c | 5 ++---\n drivers/net/mlx5/mlx5_rxq.c | 6 ++----\n drivers/net/mlx5/mlx5_txq.c | 6 ++----\n drivers/regex/mlx5/mlx5_regex_control.c | 6 ++----\n 8 files changed, 42 insertions(+), 19 deletions(-)", "diff": "diff --git a/drivers/common/mlx5/mlx5_common_mr.c b/drivers/common/mlx5/mlx5_common_mr.c\nindex 2e039a4e70..8fd65484cf 100644\n--- a/drivers/common/mlx5/mlx5_common_mr.c\n+++ b/drivers/common/mlx5/mlx5_common_mr.c\n@@ -271,6 +271,34 @@ mlx5_mr_btree_dump(struct mlx5_mr_btree *bt __rte_unused)\n #endif\n }\n \n+/**\n+ * Initialize per-queue MR control descriptor.\n+ *\n+ * @param mr_ctrl\n+ * Pointer to MR control structure.\n+ * @param dev_gen_ptr\n+ * Pointer to generation number of global cache.\n+ * @param socket\n+ * NUMA socket on which memory must be allocated.\n+ *\n+ * @return\n+ * 0 on success, a negative errno value otherwise and rte_errno is set.\n+ */\n+int\n+mlx5_mr_ctrl_init(struct mlx5_mr_ctrl *mr_ctrl, uint32_t *dev_gen_ptr,\n+\t\t int socket)\n+{\n+\tif (mr_ctrl == NULL) {\n+\t\trte_errno = EINVAL;\n+\t\treturn -rte_errno;\n+\t}\n+\t/* Save pointer of global generation number to check memory event. */\n+\tmr_ctrl->dev_gen_ptr = dev_gen_ptr;\n+\t/* Initialize B-tree and allocate memory for bottom-half cache table. */\n+\treturn mlx5_mr_btree_init(&mr_ctrl->cache_bh, MLX5_MR_BTREE_CACHE_N,\n+\t\t\t\t socket);\n+}\n+\n /**\n * Find virtually contiguous memory chunk in a given MR.\n *\ndiff --git a/drivers/common/mlx5/mlx5_common_mr.h b/drivers/common/mlx5/mlx5_common_mr.h\nindex 15489cd399..1392d9b55a 100644\n--- a/drivers/common/mlx5/mlx5_common_mr.h\n+++ b/drivers/common/mlx5/mlx5_common_mr.h\n@@ -124,6 +124,9 @@ mlx5_mr_lookup_lkey(struct mr_cache_entry *lkp_tbl, uint16_t *cached_idx,\n \treturn UINT32_MAX;\n }\n \n+__rte_internal\n+int mlx5_mr_ctrl_init(struct mlx5_mr_ctrl *mr_ctrl, uint32_t *dev_gen_ptr,\n+\t\t int socket);\n __rte_internal\n int mlx5_mr_btree_init(struct mlx5_mr_btree *bt, int n, int socket);\n __rte_internal\ndiff --git a/drivers/common/mlx5/version.map b/drivers/common/mlx5/version.map\nindex 44c4593888..6200c013fb 100644\n--- a/drivers/common/mlx5/version.map\n+++ b/drivers/common/mlx5/version.map\n@@ -111,6 +111,7 @@ INTERNAL {\n \tmlx5_mr_btree_free;\n \tmlx5_mr_btree_init;\n \tmlx5_mr_create_primary;\n+ mlx5_mr_ctrl_init;\n \tmlx5_mr_dump_cache;\n \tmlx5_mr_flush_local_cache;\n \tmlx5_mr_free;\ndiff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c\nindex 8fe65293a6..66b80a46c3 100644\n--- a/drivers/compress/mlx5/mlx5_compress.c\n+++ b/drivers/compress/mlx5/mlx5_compress.c\n@@ -206,8 +206,8 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id,\n \t\treturn -rte_errno;\n \t}\n \tdev->data->queue_pairs[qp_id] = qp;\n-\tif (mlx5_mr_btree_init(&qp->mr_ctrl.cache_bh, MLX5_MR_BTREE_CACHE_N,\n-\t\t\t priv->dev_config.socket_id)) {\n+\tif (mlx5_mr_ctrl_init(&qp->mr_ctrl, &priv->mr_scache.dev_gen,\n+\t\t\t priv->dev_config.socket_id)) {\n \t\tDRV_LOG(ERR, \"Cannot allocate MR Btree for qp %u.\",\n \t\t\t(uint32_t)qp_id);\n \t\trte_errno = ENOMEM;\n@@ -258,8 +258,6 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id,\n \tret = mlx5_devx_qp2rts(&qp->qp, 0);\n \tif (ret)\n \t\tgoto err;\n-\t/* Save pointer of global generation number to check memory event. */\n-\tqp->mr_ctrl.dev_gen_ptr = &priv->mr_scache.dev_gen;\n \tDRV_LOG(INFO, \"QP %u: SQN=0x%X CQN=0x%X entries num = %u\",\n \t\t(uint32_t)qp_id, qp->qp.qp->id, qp->cq.cq->id, qp->entries_n);\n \treturn 0;\ndiff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c\nindex ff4c67c0a0..77f0688ba0 100644\n--- a/drivers/crypto/mlx5/mlx5_crypto.c\n+++ b/drivers/crypto/mlx5/mlx5_crypto.c\n@@ -677,14 +677,13 @@ mlx5_crypto_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id,\n \t\tDRV_LOG(ERR, \"Failed to create QP.\");\n \t\tgoto error;\n \t}\n-\tif (mlx5_mr_btree_init(&qp->mr_ctrl.cache_bh, MLX5_MR_BTREE_CACHE_N,\n-\t\t\t priv->dev_config.socket_id) != 0) {\n+\tif (mlx5_mr_ctrl_init(&qp->mr_ctrl, &priv->mr_scache.dev_gen,\n+\t\t\t priv->dev_config.socket_id) != 0) {\n \t\tDRV_LOG(ERR, \"Cannot allocate MR Btree for qp %u.\",\n \t\t\t(uint32_t)qp_id);\n \t\trte_errno = ENOMEM;\n \t\tgoto error;\n \t}\n-\tqp->mr_ctrl.dev_gen_ptr = &priv->mr_scache.dev_gen;\n \t/*\n \t * In Order to configure self loopback, when calling devx qp2rts the\n \t * remote QP id that is used is the id of the same QP.\ndiff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c\nindex 43ea890d2b..53c8c5439d 100644\n--- a/drivers/net/mlx5/mlx5_rxq.c\n+++ b/drivers/net/mlx5/mlx5_rxq.c\n@@ -1449,13 +1449,11 @@ mlx5_rxq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,\n \t\tgoto error;\n \t}\n \ttmpl->type = MLX5_RXQ_TYPE_STANDARD;\n-\tif (mlx5_mr_btree_init(&tmpl->rxq.mr_ctrl.cache_bh,\n-\t\t\t MLX5_MR_BTREE_CACHE_N, socket)) {\n+\tif (mlx5_mr_ctrl_init(&tmpl->rxq.mr_ctrl,\n+\t\t\t &priv->sh->share_cache.dev_gen, socket)) {\n \t\t/* rte_errno is already set. */\n \t\tgoto error;\n \t}\n-\t/* Rx queues don't use this pointer, but we want a valid structure. */\n-\ttmpl->rxq.mr_ctrl.dev_gen_ptr = &priv->sh->share_cache.dev_gen;\n \ttmpl->socket = socket;\n \tif (dev->data->dev_conf.intr_conf.rxq)\n \t\ttmpl->irq = 1;\ndiff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c\nindex ffb252525d..f12510712a 100644\n--- a/drivers/net/mlx5/mlx5_txq.c\n+++ b/drivers/net/mlx5/mlx5_txq.c\n@@ -1117,13 +1117,11 @@ mlx5_txq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,\n \t\trte_errno = ENOMEM;\n \t\treturn NULL;\n \t}\n-\tif (mlx5_mr_btree_init(&tmpl->txq.mr_ctrl.cache_bh,\n-\t\t\t MLX5_MR_BTREE_CACHE_N, socket)) {\n+\tif (mlx5_mr_ctrl_init(&tmpl->txq.mr_ctrl,\n+\t\t\t &priv->sh->share_cache.dev_gen, socket)) {\n \t\t/* rte_errno is already set. */\n \t\tgoto error;\n \t}\n-\t/* Save pointer of global generation number to check memory event. */\n-\ttmpl->txq.mr_ctrl.dev_gen_ptr = &priv->sh->share_cache.dev_gen;\n \tMLX5_ASSERT(desc > MLX5_TX_COMP_THRESH);\n \ttmpl->txq.offloads = conf->offloads |\n \t\t\t dev->data->dev_conf.txmode.offloads;\ndiff --git a/drivers/regex/mlx5/mlx5_regex_control.c b/drivers/regex/mlx5/mlx5_regex_control.c\nindex 545bbbcf89..6735e51976 100644\n--- a/drivers/regex/mlx5/mlx5_regex_control.c\n+++ b/drivers/regex/mlx5/mlx5_regex_control.c\n@@ -242,10 +242,8 @@ mlx5_regex_qp_setup(struct rte_regexdev *dev, uint16_t qp_ind,\n \t\tnb_sq_config++;\n \t}\n \n-\t/* Save pointer of global generation number to check memory event. */\n-\tqp->mr_ctrl.dev_gen_ptr = &priv->mr_scache.dev_gen;\n-\tret = mlx5_mr_btree_init(&qp->mr_ctrl.cache_bh, MLX5_MR_BTREE_CACHE_N,\n-\t\t\t\t rte_socket_id());\n+\tret = mlx5_mr_ctrl_init(&qp->mr_ctrl, &priv->mr_scache.dev_gen,\n+\t\t\t\trte_socket_id());\n \tif (ret) {\n \t\tDRV_LOG(ERR, \"Error setting up mr btree\");\n \t\tgoto err_btree;\n", "prefixes": [ "v3", "13/18" ] }{ "id": 102318, "url": "