From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 881F2A0528; Sat, 11 Jul 2020 09:42:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5BFD51D962; Sat, 11 Jul 2020 09:42:02 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 018C01D961 for ; Sat, 11 Jul 2020 09:42:00 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2E7D51FB; Sat, 11 Jul 2020 00:42:00 -0700 (PDT) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.210.119]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CFF613F9AB; Sat, 11 Jul 2020 00:41:57 -0700 (PDT) From: Ruifeng Wang To: Bruce Richardson , Vladimir Medvedkin Cc: dev@dpdk.org, david.marchand@redhat.com, nd@arm.com, honnappa.nagarahalli@arm.com, Ruifeng Wang Date: Sat, 11 Jul 2020 15:41:31 +0800 Message-Id: <20200711074131.47134-1-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH] lpm: do not return defer queue handle to the user 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" There is no need to return defer queue handle in rte_lpm_rcu_qsbr_add API, since enough flexibility has been provided to configure the defer queue. Signed-off-by: Ruifeng Wang Reviewed-by: Honnappa Nagarahalli --- This is a followup patch of LPM RCU reclamation series [1]. [1] http://patches.dpdk.org/cover/73673/ app/test/test_lpm.c | 10 +++++----- app/test/test_lpm_perf.c | 4 ++-- lib/librte_lpm/rte_lpm.c | 5 +---- lib/librte_lpm/rte_lpm.h | 5 +---- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/app/test/test_lpm.c b/app/test/test_lpm.c index 8330501f0..258b2f67c 100644 --- a/app/test/test_lpm.c +++ b/app/test/test_lpm.c @@ -1308,12 +1308,12 @@ test19(void) rcu_cfg.v = qsv; /* Invalid QSBR mode */ rcu_cfg.mode = 2; - status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL); + status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg); TEST_LPM_ASSERT(status != 0); rcu_cfg.mode = RTE_LPM_QSBR_MODE_DQ; /* Attach RCU QSBR to LPM table */ - status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL); + status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg); TEST_LPM_ASSERT(status == 0); /* Create and attach another RCU QSBR to LPM table */ @@ -1323,7 +1323,7 @@ test19(void) rcu_cfg.v = qsv2; rcu_cfg.mode = RTE_LPM_QSBR_MODE_SYNC; - status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL); + status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg); TEST_LPM_ASSERT(status != 0); rte_lpm_free(lpm); @@ -1379,7 +1379,7 @@ test20(void) rcu_cfg.v = qsv; rcu_cfg.mode = RTE_LPM_QSBR_MODE_DQ; /* Attach RCU QSBR to LPM table */ - status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL); + status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg); TEST_LPM_ASSERT(status == 0); ip = RTE_IPV4(192, 0, 2, 100); @@ -1510,7 +1510,7 @@ test21(void) rcu_cfg.v = g_v; rcu_cfg.mode = RTE_LPM_QSBR_MODE_SYNC; /* Attach RCU QSBR to LPM table */ - status = rte_lpm_rcu_qsbr_add(g_lpm, &rcu_cfg, NULL); + status = rte_lpm_rcu_qsbr_add(g_lpm, &rcu_cfg); TEST_LPM_ASSERT(status == 0); writer_done = 0; diff --git a/app/test/test_lpm_perf.c b/app/test/test_lpm_perf.c index dfe186426..58076795e 100644 --- a/app/test/test_lpm_perf.c +++ b/app/test/test_lpm_perf.c @@ -521,7 +521,7 @@ test_lpm_rcu_perf_multi_writer(void) rcu_cfg.v = rv; /* Assign the RCU variable to LPM */ - if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL) != 0) { + if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg) != 0) { printf("RCU variable assignment failed\n"); goto error; } @@ -674,7 +674,7 @@ test_lpm_rcu_perf(void) rcu_cfg.v = rv; /* Assign the RCU variable to LPM */ - if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL) != 0) { + if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg) != 0) { printf("RCU variable assignment failed\n"); goto error; } diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c index 126fc5a82..2db9e16a2 100644 --- a/lib/librte_lpm/rte_lpm.c +++ b/lib/librte_lpm/rte_lpm.c @@ -288,8 +288,7 @@ __lpm_rcu_qsbr_free_resource(void *p, void *data, unsigned int n) /* Associate QSBR variable with an LPM object. */ int -rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg, - struct rte_rcu_qsbr_dq **dq) +rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg) { struct rte_rcu_qsbr_dq_parameters params = {0}; char rcu_dq_name[RTE_RCU_QSBR_DQ_NAMESIZE]; @@ -329,8 +328,6 @@ rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg, RTE_LOG(ERR, LPM, "LPM defer queue creation failed\n"); return 1; } - if (dq != NULL) - *dq = internal_lpm->dq; } else { rte_errno = EINVAL; return 1; diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h index a9568fcdd..03da2d37e 100644 --- a/lib/librte_lpm/rte_lpm.h +++ b/lib/librte_lpm/rte_lpm.h @@ -218,8 +218,6 @@ rte_lpm_free(struct rte_lpm *lpm); * the lpm object to add RCU QSBR * @param cfg * RCU QSBR configuration - * @param dq - * handler of created RCU QSBR defer queue * @return * On success - 0 * On error - 1 with error code set in rte_errno. @@ -229,8 +227,7 @@ rte_lpm_free(struct rte_lpm *lpm); * - ENOMEM - memory allocation failure */ __rte_experimental -int rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg, - struct rte_rcu_qsbr_dq **dq); +int rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg); /** * Add a rule to the LPM table. -- 2.17.1