From patchwork Thu Jul 2 14:10:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ananyev, Konstantin" X-Patchwork-Id: 72843 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 97F16A0520; Thu, 2 Jul 2020 16:10:50 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B5FC71D528; Thu, 2 Jul 2020 16:10:49 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 5B0871D508 for ; Thu, 2 Jul 2020 16:10:48 +0200 (CEST) IronPort-SDR: /98ydnnAnRePFC+wuqcJf+aVsAthvz0JaEf54QWj3lR4nWXgGVJv3eqzgNmqwGei0x8Snsicr0 2JFEO3qFgCDA== X-IronPort-AV: E=McAfee;i="6000,8403,9670"; a="211952381" X-IronPort-AV: E=Sophos;i="5.75,304,1589266800"; d="scan'208";a="211952381" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2020 07:10:43 -0700 IronPort-SDR: einuFegRCzulKHmIxDamLMkvOMfx8lpYS7AnXV5Qh107MW9f7cyv4VpVF/u/I/NG+8HASwNKNd 6GduBWFS0dOw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,304,1589266800"; d="scan'208";a="313034261" Received: from sivswdev08.ir.intel.com ([10.237.217.47]) by orsmga008.jf.intel.com with ESMTP; 02 Jul 2020 07:10:42 -0700 From: Konstantin Ananyev To: dev@dpdk.org Cc: honnappa.nagarahalli@arm.com, feifei.wang2@arm.com, Konstantin Ananyev Date: Thu, 2 Jul 2020 15:10:26 +0100 Message-Id: <20200702141027.18447-2-konstantin.ananyev@intel.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200702141027.18447-1-konstantin.ananyev@intel.com> References: <20200630162139.19512-1-konstantin.ananyev@intel.com> <20200702141027.18447-1-konstantin.ananyev@intel.com> Subject: [dpdk-dev] [PATCH v2 1/2] test/ring: add stress test for ST peek API 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" Introduce new test case to test ST peek API. Signed-off-by: Konstantin Ananyev Reviewed-by: Honnappa Nagarahalli --- app/test/Makefile | 1 + app/test/meson.build | 1 + app/test/test_ring_st_peek_stress.c | 54 +++++++++++++++++++++++++++++ app/test/test_ring_stress.c | 3 ++ app/test/test_ring_stress.h | 1 + 5 files changed, 60 insertions(+) create mode 100644 app/test/test_ring_st_peek_stress.c diff --git a/app/test/Makefile b/app/test/Makefile index 7b96a03a6..37bdaf891 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -83,6 +83,7 @@ SRCS-y += test_ring_hts_stress.c SRCS-y += test_ring_perf.c SRCS-y += test_ring_peek_stress.c SRCS-y += test_ring_rts_stress.c +SRCS-y += test_ring_st_peek_stress.c SRCS-y += test_ring_stress.c SRCS-y += test_pmd_perf.c diff --git a/app/test/meson.build b/app/test/meson.build index b224d6f2b..5cb050958 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -108,6 +108,7 @@ test_sources = files('commands.c', 'test_ring_peek_stress.c', 'test_ring_perf.c', 'test_ring_rts_stress.c', + 'test_ring_st_peek_stress.c', 'test_ring_stress.c', 'test_rwlock.c', 'test_sched.c', diff --git a/app/test/test_ring_st_peek_stress.c b/app/test/test_ring_st_peek_stress.c new file mode 100644 index 000000000..bc573de47 --- /dev/null +++ b/app/test/test_ring_st_peek_stress.c @@ -0,0 +1,54 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2020 Intel Corporation + */ + +#include "test_ring_stress_impl.h" +#include + +static inline uint32_t +_st_ring_dequeue_bulk(struct rte_ring *r, void **obj, uint32_t n, + uint32_t *avail) +{ + uint32_t m; + + static rte_spinlock_t lck = RTE_SPINLOCK_INITIALIZER; + + rte_spinlock_lock(&lck); + + m = rte_ring_dequeue_bulk_start(r, obj, n, avail); + n = (m == n) ? n : 0; + rte_ring_dequeue_finish(r, n); + + rte_spinlock_unlock(&lck); + return n; +} + +static inline uint32_t +_st_ring_enqueue_bulk(struct rte_ring *r, void * const *obj, uint32_t n, + uint32_t *free) +{ + uint32_t m; + + static rte_spinlock_t lck = RTE_SPINLOCK_INITIALIZER; + + rte_spinlock_lock(&lck); + + m = rte_ring_enqueue_bulk_start(r, n, free); + n = (m == n) ? n : 0; + rte_ring_enqueue_finish(r, obj, n); + + rte_spinlock_unlock(&lck); + return n; +} + +static int +_st_ring_init(struct rte_ring *r, const char *name, uint32_t num) +{ + return rte_ring_init(r, name, num, RING_F_SP_ENQ | RING_F_SC_DEQ); +} + +const struct test test_ring_st_peek_stress = { + .name = "ST_PEEK", + .nb_case = RTE_DIM(tests), + .cases = tests, +}; diff --git a/app/test/test_ring_stress.c b/app/test/test_ring_stress.c index 853fcc190..387cfa747 100644 --- a/app/test/test_ring_stress.c +++ b/app/test/test_ring_stress.c @@ -49,6 +49,9 @@ test_ring_stress(void) n += test_ring_peek_stress.nb_case; k += run_test(&test_ring_peek_stress); + n += test_ring_st_peek_stress.nb_case; + k += run_test(&test_ring_st_peek_stress); + printf("Number of tests:\t%u\nSuccess:\t%u\nFailed:\t%u\n", n, k, n - k); return (k != n); diff --git a/app/test/test_ring_stress.h b/app/test/test_ring_stress.h index 60953ce47..a9a390341 100644 --- a/app/test/test_ring_stress.h +++ b/app/test/test_ring_stress.h @@ -36,3 +36,4 @@ extern const struct test test_ring_mpmc_stress; extern const struct test test_ring_rts_stress; extern const struct test test_ring_hts_stress; extern const struct test test_ring_peek_stress; +extern const struct test test_ring_st_peek_stress; From patchwork Thu Jul 2 14:10:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ananyev, Konstantin" X-Patchwork-Id: 72844 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DCED3A0520; Thu, 2 Jul 2020 16:10:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 37BFA1D55C; Thu, 2 Jul 2020 16:10:52 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 48E151D508 for ; Thu, 2 Jul 2020 16:10:49 +0200 (CEST) IronPort-SDR: 57yr60uMvHxuBOoaniEmVa5ba9w4ZLDKWYjGZhdFgdktwSygwwVkKHTABxS1HJWGO7fmTD4zFz 6roiEh0natRg== X-IronPort-AV: E=McAfee;i="6000,8403,9670"; a="211952382" X-IronPort-AV: E=Sophos;i="5.75,304,1589266800"; d="scan'208";a="211952382" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2020 07:10:47 -0700 IronPort-SDR: vL5JoC5ldnuaB+eZ94TZoDeJSP01sfiGnafWYKdPfXC6ONL+QHOUKZOn3eCrpkwHxUguqvBbiH ElA6KMScxyeQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,304,1589266800"; d="scan'208";a="313034272" Received: from sivswdev08.ir.intel.com ([10.237.217.47]) by orsmga008.jf.intel.com with ESMTP; 02 Jul 2020 07:10:45 -0700 From: Konstantin Ananyev To: dev@dpdk.org Cc: honnappa.nagarahalli@arm.com, feifei.wang2@arm.com, Konstantin Ananyev Date: Thu, 2 Jul 2020 15:10:27 +0100 Message-Id: <20200702141027.18447-3-konstantin.ananyev@intel.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200702141027.18447-1-konstantin.ananyev@intel.com> References: <20200630162139.19512-1-konstantin.ananyev@intel.com> <20200702141027.18447-1-konstantin.ananyev@intel.com> Subject: [dpdk-dev] [PATCH v2 2/2] test/ring: rearrange names for ring stress tests 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" Rename test_ring_peek_stress to test_ring_mt_peek_stress to keep same naming conventions for ST and MT test cases. Signed-off-by: Konstantin Ananyev Reviewed-by: Honnappa Nagarahalli --- app/test/Makefile | 2 +- app/test/meson.build | 2 +- .../{test_ring_peek_stress.c => test_ring_mt_peek_stress.c} | 2 +- app/test/test_ring_stress.c | 4 ++-- app/test/test_ring_stress.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) rename app/test/{test_ring_peek_stress.c => test_ring_mt_peek_stress.c} (94%) diff --git a/app/test/Makefile b/app/test/Makefile index 37bdaf891..e5440774b 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -81,7 +81,7 @@ SRCS-y += test_ring.c SRCS-y += test_ring_mpmc_stress.c SRCS-y += test_ring_hts_stress.c SRCS-y += test_ring_perf.c -SRCS-y += test_ring_peek_stress.c +SRCS-y += test_ring_mt_peek_stress.c SRCS-y += test_ring_rts_stress.c SRCS-y += test_ring_st_peek_stress.c SRCS-y += test_ring_stress.c diff --git a/app/test/meson.build b/app/test/meson.build index 5cb050958..d8c5b5295 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -105,7 +105,7 @@ test_sources = files('commands.c', 'test_ring.c', 'test_ring_mpmc_stress.c', 'test_ring_hts_stress.c', - 'test_ring_peek_stress.c', + 'test_ring_mt_peek_stress.c', 'test_ring_perf.c', 'test_ring_rts_stress.c', 'test_ring_st_peek_stress.c', diff --git a/app/test/test_ring_peek_stress.c b/app/test/test_ring_mt_peek_stress.c similarity index 94% rename from app/test/test_ring_peek_stress.c rename to app/test/test_ring_mt_peek_stress.c index cfc82d728..4d521422f 100644 --- a/app/test/test_ring_peek_stress.c +++ b/app/test/test_ring_mt_peek_stress.c @@ -36,7 +36,7 @@ _st_ring_init(struct rte_ring *r, const char *name, uint32_t num) RING_F_MP_HTS_ENQ | RING_F_MC_HTS_DEQ); } -const struct test test_ring_peek_stress = { +const struct test test_ring_mt_peek_stress = { .name = "MT_PEEK", .nb_case = RTE_DIM(tests), .cases = tests, diff --git a/app/test/test_ring_stress.c b/app/test/test_ring_stress.c index 387cfa747..c4f82ea56 100644 --- a/app/test/test_ring_stress.c +++ b/app/test/test_ring_stress.c @@ -46,8 +46,8 @@ test_ring_stress(void) n += test_ring_hts_stress.nb_case; k += run_test(&test_ring_hts_stress); - n += test_ring_peek_stress.nb_case; - k += run_test(&test_ring_peek_stress); + n += test_ring_mt_peek_stress.nb_case; + k += run_test(&test_ring_mt_peek_stress); n += test_ring_st_peek_stress.nb_case; k += run_test(&test_ring_st_peek_stress); diff --git a/app/test/test_ring_stress.h b/app/test/test_ring_stress.h index a9a390341..c85d6fa92 100644 --- a/app/test/test_ring_stress.h +++ b/app/test/test_ring_stress.h @@ -35,5 +35,5 @@ struct test { extern const struct test test_ring_mpmc_stress; extern const struct test test_ring_rts_stress; extern const struct test test_ring_hts_stress; -extern const struct test test_ring_peek_stress; +extern const struct test test_ring_mt_peek_stress; extern const struct test test_ring_st_peek_stress;