[1/2] test/meson: hash test split into shorter subtests
diff mbox series

Message ID 1567748973-24192-2-git-send-email-agupta3@marvell.com
State New
Delegated to: David Marchand
Headers show
Series
  • test/meson: fix hash readwrite timeout failure
Related show

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-dpdk_compile success Compile Testing PASS
ci/iol-dpdk_compile_ovs success Compile Testing PASS
ci/iol-dpdk_compile_spdk success Compile Testing PASS
ci/intel-Performance success Performance Testing PASS
ci/mellanox-Performance success Performance Testing PASS

Commit Message

Amit Gupta Sept. 6, 2019, 5:49 a.m. UTC
From: Amit Gupta <agupta3@marvell.com>

hash_readwrite meson test was taking longer time to complete.
The test always get TIMEOUT, hence test is split into
functional and perf test. perf test is being moved under
dpdk perf testsuites in  meson build.

Signed-off-by: Amit Gupta <agupta3@marvell.com>
---
 app/test/meson.build           |   3 +-
 app/test/test_hash_readwrite.c | 146 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 148 insertions(+), 1 deletion(-)

Comments

Wang, Yipeng1 Sept. 11, 2019, 5:05 p.m. UTC | #1
>-----Original Message-----
>From: agupta3@marvell.com [mailto:agupta3@marvell.com]
>Sent: Thursday, September 5, 2019 10:50 PM
>To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh <sameh.gobriel@intel.com>; Richardson, Bruce
><bruce.richardson@intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
>Cc: dev@dpdk.org; Amit Gupta <agupta3@marvell.com>
>Subject: [PATCH 1/2] test/meson: hash test split into shorter subtests
>
>From: Amit Gupta <agupta3@marvell.com>
>
>hash_readwrite meson test was taking longer time to complete.
>The test always get TIMEOUT, hence test is split into
>functional and perf test. perf test is being moved under
>dpdk perf testsuites in  meson build.
>
>Signed-off-by: Amit Gupta <agupta3@marvell.com>
[Wang, Yipeng] 
Acked-by: Yipeng Wang <yipeng1.wang@intel.com>


Thanks for the patch!
Amit Gupta Oct. 17, 2019, 5:02 a.m. UTC | #2
> -----Original Message-----
> From: Wang, Yipeng1 <yipeng1.wang@intel.com>
> Sent: Wednesday, September 11, 2019 10:35 PM
> To: Amit Gupta <agupta3@marvell.com>; Gobriel, Sameh
> <sameh.gobriel@intel.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>
> Cc: dev@dpdk.org
> Subject: [EXT] RE: [PATCH 1/2] test/meson: hash test split into shorter
> subtests
> 
> External Email
> 
> ----------------------------------------------------------------------
> >-----Original Message-----
> >From: agupta3@marvell.com [mailto:agupta3@marvell.com]
> >Sent: Thursday, September 5, 2019 10:50 PM
> >To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> ><sameh.gobriel@intel.com>; Richardson, Bruce
> ><bruce.richardson@intel.com>; De Lara Guarch, Pablo
> ><pablo.de.lara.guarch@intel.com>
> >Cc: dev@dpdk.org; Amit Gupta <agupta3@marvell.com>
> >Subject: [PATCH 1/2] test/meson: hash test split into shorter subtests
> >
> >From: Amit Gupta <agupta3@marvell.com>
> >
> >hash_readwrite meson test was taking longer time to complete.
> >The test always get TIMEOUT, hence test is split into functional and
> >perf test. perf test is being moved under dpdk perf testsuites in
> >meson build.
> >
> >Signed-off-by: Amit Gupta <agupta3@marvell.com>
> [Wang, Yipeng]
> Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
> 
> 
> Thanks for the patch!

@Wang, Yipeng1, any plan on taking this patch ?


Regards,
Amit
Amit Gupta Nov. 1, 2019, 4:54 a.m. UTC | #3
Ping!

> -----Original Message-----
> From: Amit Gupta
> Sent: Thursday, October 17, 2019 10:33 AM
> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> <sameh.gobriel@intel.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>
> Cc: dev@dpdk.org
> Subject: RE: [PATCH 1/2] test/meson: hash test split into shorter subtests
> 
> 
> 
> > -----Original Message-----
> > From: Wang, Yipeng1 <yipeng1.wang@intel.com>
> > Sent: Wednesday, September 11, 2019 10:35 PM
> > To: Amit Gupta <agupta3@marvell.com>; Gobriel, Sameh
> > <sameh.gobriel@intel.com>; Richardson, Bruce
> > <bruce.richardson@intel.com>; De Lara Guarch, Pablo
> > <pablo.de.lara.guarch@intel.com>
> > Cc: dev@dpdk.org
> > Subject: [EXT] RE: [PATCH 1/2] test/meson: hash test split into
> > shorter subtests
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > >-----Original Message-----
> > >From: agupta3@marvell.com [mailto:agupta3@marvell.com]
> > >Sent: Thursday, September 5, 2019 10:50 PM
> > >To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> > ><sameh.gobriel@intel.com>; Richardson, Bruce
> > ><bruce.richardson@intel.com>; De Lara Guarch, Pablo
> > ><pablo.de.lara.guarch@intel.com>
> > >Cc: dev@dpdk.org; Amit Gupta <agupta3@marvell.com>
> > >Subject: [PATCH 1/2] test/meson: hash test split into shorter
> > >subtests
> > >
> > >From: Amit Gupta <agupta3@marvell.com>
> > >
> > >hash_readwrite meson test was taking longer time to complete.
> > >The test always get TIMEOUT, hence test is split into functional and
> > >perf test. perf test is being moved under dpdk perf testsuites in
> > >meson build.
> > >
> > >Signed-off-by: Amit Gupta <agupta3@marvell.com>
> > [Wang, Yipeng]
> > Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
> >
> >
> > Thanks for the patch!
> 
> @Wang, Yipeng1, any plan on taking this patch ?
> 
> 
> Regards,
> Amit
Wang, Yipeng1 Nov. 1, 2019, 5:04 p.m. UTC | #4
Hi, Amit,

I think I acked this patch. But from patchwork seems you superseded this patch set accidentally. So Thomas might have missed it. 
To make his life easier, you may submit a newer version with my acked. I believe Thomas will see it. 

Thanks
Yipeng

>-----Original Message-----
>From: Amit Gupta [mailto:agupta3@marvell.com]
>Sent: Thursday, October 31, 2019 9:54 PM
>To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh <sameh.gobriel@intel.com>; Richardson, Bruce
><bruce.richardson@intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Jerin Jacob Kollanukkaran
><jerinj@marvell.com>
>Cc: dev@dpdk.org
>Subject: RE: [PATCH 1/2] test/meson: hash test split into shorter subtests
>
>Ping!
>
>> -----Original Message-----
>> From: Amit Gupta
>> Sent: Thursday, October 17, 2019 10:33 AM
>> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
>> <sameh.gobriel@intel.com>; Richardson, Bruce
>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
>> <pablo.de.lara.guarch@intel.com>
>> Cc: dev@dpdk.org
>> Subject: RE: [PATCH 1/2] test/meson: hash test split into shorter subtests
>>
>>
>>
>> > -----Original Message-----
>> > From: Wang, Yipeng1 <yipeng1.wang@intel.com>
>> > Sent: Wednesday, September 11, 2019 10:35 PM
>> > To: Amit Gupta <agupta3@marvell.com>; Gobriel, Sameh
>> > <sameh.gobriel@intel.com>; Richardson, Bruce
>> > <bruce.richardson@intel.com>; De Lara Guarch, Pablo
>> > <pablo.de.lara.guarch@intel.com>
>> > Cc: dev@dpdk.org
>> > Subject: [EXT] RE: [PATCH 1/2] test/meson: hash test split into
>> > shorter subtests
>> >
>> > External Email
>> >
>> > ----------------------------------------------------------------------
>> > >-----Original Message-----
>> > >From: agupta3@marvell.com [mailto:agupta3@marvell.com]
>> > >Sent: Thursday, September 5, 2019 10:50 PM
>> > >To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
>> > ><sameh.gobriel@intel.com>; Richardson, Bruce
>> > ><bruce.richardson@intel.com>; De Lara Guarch, Pablo
>> > ><pablo.de.lara.guarch@intel.com>
>> > >Cc: dev@dpdk.org; Amit Gupta <agupta3@marvell.com>
>> > >Subject: [PATCH 1/2] test/meson: hash test split into shorter
>> > >subtests
>> > >
>> > >From: Amit Gupta <agupta3@marvell.com>
>> > >
>> > >hash_readwrite meson test was taking longer time to complete.
>> > >The test always get TIMEOUT, hence test is split into functional and
>> > >perf test. perf test is being moved under dpdk perf testsuites in
>> > >meson build.
>> > >
>> > >Signed-off-by: Amit Gupta <agupta3@marvell.com>
>> > [Wang, Yipeng]
>> > Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
>> >
>> >
>> > Thanks for the patch!
>>
>> @Wang, Yipeng1, any plan on taking this patch ?
>>
>>
>> Regards,
>> Amit
Ferruh Yigit Nov. 5, 2019, 4:37 p.m. UTC | #5
On 11/1/2019 5:04 PM, Wang, Yipeng1 wrote:
> Hi, Amit,
> 
> I think I acked this patch. But from patchwork seems you superseded this patch set accidentally. So Thomas might have missed it. 
> To make his life easier, you may submit a newer version with my acked. I believe Thomas will see it. 

cc'ed David.

Hi Amit,

The patch is in "Superseded" state as Yipeng said, as far as I understand that
is not the case, I am updating their status as "New". Can you please confirm
this is the correct state?

> 
> Thanks
> Yipeng
> 
>> -----Original Message-----
>> From: Amit Gupta [mailto:agupta3@marvell.com]
>> Sent: Thursday, October 31, 2019 9:54 PM
>> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh <sameh.gobriel@intel.com>; Richardson, Bruce
>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Jerin Jacob Kollanukkaran
>> <jerinj@marvell.com>
>> Cc: dev@dpdk.org
>> Subject: RE: [PATCH 1/2] test/meson: hash test split into shorter subtests
>>
>> Ping!
>>
>>> -----Original Message-----
>>> From: Amit Gupta
>>> Sent: Thursday, October 17, 2019 10:33 AM
>>> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
>>> <sameh.gobriel@intel.com>; Richardson, Bruce
>>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
>>> <pablo.de.lara.guarch@intel.com>
>>> Cc: dev@dpdk.org
>>> Subject: RE: [PATCH 1/2] test/meson: hash test split into shorter subtests
>>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: Wang, Yipeng1 <yipeng1.wang@intel.com>
>>>> Sent: Wednesday, September 11, 2019 10:35 PM
>>>> To: Amit Gupta <agupta3@marvell.com>; Gobriel, Sameh
>>>> <sameh.gobriel@intel.com>; Richardson, Bruce
>>>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
>>>> <pablo.de.lara.guarch@intel.com>
>>>> Cc: dev@dpdk.org
>>>> Subject: [EXT] RE: [PATCH 1/2] test/meson: hash test split into
>>>> shorter subtests
>>>>
>>>> External Email
>>>>
>>>> ----------------------------------------------------------------------
>>>>> -----Original Message-----
>>>>> From: agupta3@marvell.com [mailto:agupta3@marvell.com]
>>>>> Sent: Thursday, September 5, 2019 10:50 PM
>>>>> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
>>>>> <sameh.gobriel@intel.com>; Richardson, Bruce
>>>>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
>>>>> <pablo.de.lara.guarch@intel.com>
>>>>> Cc: dev@dpdk.org; Amit Gupta <agupta3@marvell.com>
>>>>> Subject: [PATCH 1/2] test/meson: hash test split into shorter
>>>>> subtests
>>>>>
>>>>> From: Amit Gupta <agupta3@marvell.com>
>>>>>
>>>>> hash_readwrite meson test was taking longer time to complete.
>>>>> The test always get TIMEOUT, hence test is split into functional and
>>>>> perf test. perf test is being moved under dpdk perf testsuites in
>>>>> meson build.
>>>>>
>>>>> Signed-off-by: Amit Gupta <agupta3@marvell.com>
>>>> [Wang, Yipeng]
>>>> Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
>>>>
>>>>
>>>> Thanks for the patch!
>>>
>>> @Wang, Yipeng1, any plan on taking this patch ?
>>>
>>>
>>> Regards,
>>> Amit
Amit Gupta Nov. 7, 2019, 3:32 a.m. UTC | #6
Hi Yipeng,

Thanks for changing the state to 'New'. Yes this patch was wrongly Superseded.


Regards,
Amit

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, November 5, 2019 10:07 PM
> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Amit Gupta
> <agupta3@marvell.com>; Gobriel, Sameh <sameh.gobriel@intel.com>;
> Thomas Monjalon <thomas@monjalon.net>
> Cc: dev@dpdk.org; David Marchand <david.marchand@redhat.com>
> Subject: [EXT] Re: [dpdk-dev] [PATCH 1/2] test/meson: hash test split into
> shorter subtests
> 
> External Email
> 
> ----------------------------------------------------------------------
> On 11/1/2019 5:04 PM, Wang, Yipeng1 wrote:
> > Hi, Amit,
> >
> > I think I acked this patch. But from patchwork seems you superseded this
> patch set accidentally. So Thomas might have missed it.
> > To make his life easier, you may submit a newer version with my acked. I
> believe Thomas will see it.
> 
> cc'ed David.
> 
> Hi Amit,
> 
> The patch is in "Superseded" state as Yipeng said, as far as I understand that
> is not the case, I am updating their status as "New". Can you please confirm
> this is the correct state?
> 
> >
> > Thanks
> > Yipeng
> >
> >> -----Original Message-----
> >> From: Amit Gupta [mailto:agupta3@marvell.com]
> >> Sent: Thursday, October 31, 2019 9:54 PM
> >> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> >> <sameh.gobriel@intel.com>; Richardson, Bruce
> >> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
> >> <pablo.de.lara.guarch@intel.com>; Jerin Jacob Kollanukkaran
> >> <jerinj@marvell.com>
> >> Cc: dev@dpdk.org
> >> Subject: RE: [PATCH 1/2] test/meson: hash test split into shorter
> >> subtests
> >>
> >> Ping!
> >>
> >>> -----Original Message-----
> >>> From: Amit Gupta
> >>> Sent: Thursday, October 17, 2019 10:33 AM
> >>> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> >>> <sameh.gobriel@intel.com>; Richardson, Bruce
> >>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
> >>> <pablo.de.lara.guarch@intel.com>
> >>> Cc: dev@dpdk.org
> >>> Subject: RE: [PATCH 1/2] test/meson: hash test split into shorter
> >>> subtests
> >>>
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: Wang, Yipeng1 <yipeng1.wang@intel.com>
> >>>> Sent: Wednesday, September 11, 2019 10:35 PM
> >>>> To: Amit Gupta <agupta3@marvell.com>; Gobriel, Sameh
> >>>> <sameh.gobriel@intel.com>; Richardson, Bruce
> >>>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
> >>>> <pablo.de.lara.guarch@intel.com>
> >>>> Cc: dev@dpdk.org
> >>>> Subject: [EXT] RE: [PATCH 1/2] test/meson: hash test split into
> >>>> shorter subtests
> >>>>
> >>>> External Email
> >>>>
> >>>> -------------------------------------------------------------------
> >>>> ---
> >>>>> -----Original Message-----
> >>>>> From: agupta3@marvell.com [mailto:agupta3@marvell.com]
> >>>>> Sent: Thursday, September 5, 2019 10:50 PM
> >>>>> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> >>>>> <sameh.gobriel@intel.com>; Richardson, Bruce
> >>>>> <bruce.richardson@intel.com>; De Lara Guarch, Pablo
> >>>>> <pablo.de.lara.guarch@intel.com>
> >>>>> Cc: dev@dpdk.org; Amit Gupta <agupta3@marvell.com>
> >>>>> Subject: [PATCH 1/2] test/meson: hash test split into shorter
> >>>>> subtests
> >>>>>
> >>>>> From: Amit Gupta <agupta3@marvell.com>
> >>>>>
> >>>>> hash_readwrite meson test was taking longer time to complete.
> >>>>> The test always get TIMEOUT, hence test is split into functional
> >>>>> and perf test. perf test is being moved under dpdk perf testsuites
> >>>>> in meson build.
> >>>>>
> >>>>> Signed-off-by: Amit Gupta <agupta3@marvell.com>
> >>>> [Wang, Yipeng]
> >>>> Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
> >>>>
> >>>>
> >>>> Thanks for the patch!
> >>>
> >>> @Wang, Yipeng1, any plan on taking this patch ?
> >>>
> >>>
> >>> Regards,
> >>> Amit

Patch
diff mbox series

diff --git a/app/test/meson.build b/app/test/meson.build
index ec40943..94fd9f8 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -219,7 +219,7 @@  fast_test_names = [
         'distributor_autotest',
         'eventdev_common_autotest',
         'fbarray_autotest',
-        'hash_readwrite_autotest',
+        'hash_readwrite_func_autotest',
         'hash_readwrite_lf_autotest',
         'ipsec_autotest',
         'kni_autotest',
@@ -262,6 +262,7 @@  perf_test_names = [
         'stack_perf_autotest',
         'stack_lf_perf_autotest',
         'rand_perf_autotest',
+        'hash_readwrite_perf_autotest',
 ]
 
 driver_test_names = [
diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c
index 4376b09..c25e904 100644
--- a/app/test/test_hash_readwrite.c
+++ b/app/test/test_hash_readwrite.c
@@ -606,6 +606,150 @@  struct {
 }
 
 static int
+test_hash_rw_perf_main(void)
+{
+	/*
+	 * Variables used to choose different tests.
+	 * use_htm indicates if hardware transactional memory should be used.
+	 * reader_faster indicates if the reader threads should finish earlier
+	 * than writer threads. This is to timing either reader threads or
+	 * writer threads for performance numbers.
+	 */
+	int use_htm, reader_faster;
+	unsigned int i = 0, core_id = 0;
+
+	if (rte_lcore_count() < 3) {
+		printf("Not enough cores for hash_readwrite_autotest, expecting at least 3\n");
+		return TEST_SKIPPED;
+	}
+
+	RTE_LCORE_FOREACH_SLAVE(core_id) {
+		slave_core_ids[i] = core_id;
+		i++;
+	}
+
+	setlocale(LC_NUMERIC, "");
+
+	if (rte_tm_supported()) {
+		printf("Hardware transactional memory (lock elision) "
+			"is supported\n");
+
+		printf("Test read-write with Hardware transactional memory\n");
+
+		use_htm = 1;
+
+		reader_faster = 1;
+		if (test_hash_readwrite_perf(&htm_results, use_htm,
+							reader_faster) < 0)
+			return -1;
+
+		reader_faster = 0;
+		if (test_hash_readwrite_perf(&htm_results, use_htm,
+							reader_faster) < 0)
+			return -1;
+	} else {
+		printf("Hardware transactional memory (lock elision) "
+			"is NOT supported\n");
+	}
+
+	printf("Test read-write without Hardware transactional memory\n");
+	use_htm = 0;
+
+	reader_faster = 1;
+	if (test_hash_readwrite_perf(&non_htm_results, use_htm,
+							reader_faster) < 0)
+		return -1;
+	reader_faster = 0;
+	if (test_hash_readwrite_perf(&non_htm_results, use_htm,
+							reader_faster) < 0)
+		return -1;
+
+	printf("================\n");
+	printf("Results summary:\n");
+	printf("================\n");
+
+	printf("single read: %u\n", htm_results.single_read);
+	printf("single write: %u\n", htm_results.single_write);
+	for (i = 0; i < NUM_TEST; i++) {
+		printf("+++ core_cnt: %u +++\n", core_cnt[i]);
+		printf("HTM:\n");
+		printf("  read only: %u\n", htm_results.read_only[i]);
+		printf("  write only: %u\n", htm_results.write_only[i]);
+		printf("  read-write read: %u\n", htm_results.read_write_r[i]);
+		printf("  read-write write: %u\n", htm_results.read_write_w[i]);
+
+		printf("non HTM:\n");
+		printf("  read only: %u\n", non_htm_results.read_only[i]);
+		printf("  write only: %u\n", non_htm_results.write_only[i]);
+		printf("  read-write read: %u\n",
+			non_htm_results.read_write_r[i]);
+		printf("  read-write write: %u\n",
+			non_htm_results.read_write_w[i]);
+	}
+
+	return 0;
+}
+
+static int
+test_hash_rw_func_main(void)
+{
+	/*
+	 * Variables used to choose different tests.
+	 * use_htm indicates if hardware transactional memory should be used.
+	 * reader_faster indicates if the reader threads should finish earlier
+	 * than writer threads. This is to timing either reader threads or
+	 * writer threads for performance numbers.
+	 */
+	int use_htm, use_ext;
+	unsigned int i = 0, core_id = 0;
+
+	if (rte_lcore_count() < 3) {
+		printf("Not enough cores for hash_readwrite_autotest, expecting at least 3\n");
+		return TEST_SKIPPED;
+	}
+
+	RTE_LCORE_FOREACH_SLAVE(core_id) {
+		slave_core_ids[i] = core_id;
+		i++;
+	}
+
+	setlocale(LC_NUMERIC, "");
+
+	if (rte_tm_supported()) {
+		printf("Hardware transactional memory (lock elision) "
+			"is supported\n");
+
+		printf("Test read-write with Hardware transactional memory\n");
+
+		use_htm = 1;
+		use_ext = 0;
+
+		if (test_hash_readwrite_functional(use_ext, use_htm) < 0)
+			return -1;
+
+		use_ext = 1;
+		if (test_hash_readwrite_functional(use_ext, use_htm) < 0)
+			return -1;
+
+	} else {
+		printf("Hardware transactional memory (lock elision) "
+			"is NOT supported\n");
+	}
+
+	printf("Test read-write without Hardware transactional memory\n");
+	use_htm = 0;
+	use_ext = 0;
+	if (test_hash_readwrite_functional(use_ext, use_htm) < 0)
+		return -1;
+
+	use_ext = 1;
+	if (test_hash_readwrite_functional(use_ext, use_htm) < 0)
+		return -1;
+
+	return 0;
+}
+
+static int
 test_hash_readwrite_main(void)
 {
 	/*
@@ -706,3 +850,5 @@  struct {
 }
 
 REGISTER_TEST_COMMAND(hash_readwrite_autotest, test_hash_readwrite_main);
+REGISTER_TEST_COMMAND(hash_readwrite_func_autotest, test_hash_rw_func_main);
+REGISTER_TEST_COMMAND(hash_readwrite_perf_autotest, test_hash_rw_perf_main);