From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 5A97D1B49C for ; Tue, 23 Oct 2018 13:56:42 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Oct 2018 04:56:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,416,1534834800"; d="scan'208";a="99936405" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.107]) by fmsmga004.fm.intel.com with SMTP; 23 Oct 2018 04:56:39 -0700 Received: by (sSMTP sendmail emulation); Tue, 23 Oct 2018 12:56:38 +0100 Date: Tue, 23 Oct 2018 12:56:37 +0100 From: Bruce Richardson To: Honnappa Nagarahalli Cc: pablo.de.lara.guarch@intel.com, dev@dpdk.org, yipeng1.wang@intel.com, gavin.hu@arm.com, dharmik.thakkar@arm.com, nd@arm.com Message-ID: <20181023115637.GF18800@bricha3-MOBL.ger.corp.intel.com> References: <1540268524-126673-1-git-send-email-honnappa.nagarahalli@arm.com> <1540268524-126673-6-git-send-email-honnappa.nagarahalli@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1540268524-126673-6-git-send-email-honnappa.nagarahalli@arm.com> Organization: Intel Research and Development Ireland Ltd. User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [dpdk-dev] [PATCH v5 5/5] test/hash: read-write lock-free concurrency test 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: , X-List-Received-Date: Tue, 23 Oct 2018 11:56:43 -0000 On Mon, Oct 22, 2018 at 11:22:04PM -0500, Honnappa Nagarahalli wrote: > From: Dharmik Thakkar > > Unit tests to check for hash lookup and bulk-lookup perf > with lock-free enabled and with lock-free disabled. > Unit tests performed with readers running in parallel with writers. > > Tests include: > > - hash lookup on existing keys with: > - hash add causing NO key-shifts of existing keys in the table > > - hash lookup on existing keys likely to be on shift-path with: > - hash add causing key-shifts of existing keys in the table > > - hash lookup on existing keys NOT likely to be on shift-path with: > - hash add causing key-shifts of existing keys in the table > > - hash lookup on non-existing keys with: > - hash add causing NO key-shifts of existing keys in the table > - hash add causing key-shifts of existing keys in the table > > - hash lookup on keys likely to be on shift-path with: > - multiple writers causing key-shifts of existing keys in the table > > Signed-off-by: Dharmik Thakkar > Reviewed-by: Honnappa Nagarahalli > Reviewed-by: Gavin Hu > Reviewed-by: Yipeng Wang > --- > test/test/Makefile | 1 + > test/test/meson.build | 1 + > test/test/test_hash_readwrite_lf.c | 1220 ++++++++++++++++++++++++++++++++++++ > 3 files changed, 1222 insertions(+) > create mode 100644 test/test/test_hash_readwrite_lf.c > > diff --git a/test/test/Makefile b/test/test/Makefile > index 8c347e4..1b5c070 100644 > --- a/test/test/Makefile > +++ b/test/test/Makefile > @@ -116,6 +116,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_functions.c > SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_scaling.c > SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_multiwriter.c > SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite.c > +SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite_lf.c > > SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm.c > SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm_perf.c > diff --git a/test/test/meson.build b/test/test/meson.build > index 90d6607..d352b94 100644 > --- a/test/test/meson.build > +++ b/test/test/meson.build > @@ -46,6 +46,7 @@ test_sources = files('commands.c', > 'test_hash_multiwriter.c', > 'test_hash_readwrite.c', > 'test_hash_perf.c', > + 'test_hash_readwrite_lf.c', > 'test_hash_scaling.c', > 'test_interrupts.c', > 'test_kni.c', Two minor issues I spot, both related: * You also need to add the test to the list of test names, so that it can be called using "meson test". * For running the autotests built using make, a new entry should be added to autotest_data.py to run this new test case. /Bruce