All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Dharmik Thakkar <Dharmik.Thakkar@arm.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"thomas@monjalon.net" <thomas@monjalon.net>,
	Stephen Hemminger <stephen@networkplumber.org>,
	 "maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
	"stable@dpdk.org" <stable@dpdk.org>,
	 Yipeng Wang <yipeng1.wang@intel.com>,
	Sameh Gobriel <sameh.gobriel@intel.com>,
	 Bruce Richardson <bruce.richardson@intel.com>,
	Pablo de Lara <pablo.de.lara.guarch@intel.com>, nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH v2 1/2] test/hash: use existing lcore API
Date: Wed, 22 May 2019 19:17:15 +0200	[thread overview]
Message-ID: <CAJFAV8wEj0phEiAUXowj9mKKiZexjTZU-bz7g-PnwPnYZY0mbg@mail.gmail.com> (raw)
In-Reply-To: <9B028D36-C801-49AC-B529-C8721F0B7D8C@arm.com>

Hello Dharmik,

On Wed, May 22, 2019 at 6:27 PM Dharmik Thakkar <Dharmik.Thakkar@arm.com>
wrote:

> > On May 22, 2019, at 10:06 AM, David Marchand <david.marchand@redhat.com>
> wrote:
> >
> > Prefer the existing apis rather than direct access the configuration
> > structure.
> >
> > test_hash_multi_add_lookup() currently starts n readers and N writers
> > using rte_eal_remote_launch().
> > It then waits for the N writers to complete with a custom
> > multi_writer_done[] array to synchronise over.
> > Jump on the occasion to use rte_eal_wait_lcore() so that the code is
> > more straightforward:
> > - we start n readers with rte_eal_remote_launch(),
> > - we start N writers with rte_eal_remote_launch(),
> > - we wait for N writers to join with rte_eal_wait_lcore(),
> > - we wait for n readers to join with rte_eal_wait_lcore(),
> >
> > Fixes: c7eb0972e74b ("test/hash: add lock-free r/w concurrency")
> > Fixes: 3f9aab961ed3 ("test/hash: check lock-free extendable bucket")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> > app/test/test_hash_readwrite_lf.c | 41
> ++++++++++++++++++---------------------
> > 1 file changed, 19 insertions(+), 22 deletions(-)
> >
> > ---
> > Changelog since v1:
> > - fixed test hang in test_hash_multi_add_lookup() reported by Wang,
> Yipeng
> >
> > diff --git a/app/test/test_hash_readwrite_lf.c
> b/app/test/test_hash_readwrite_lf.c
> > index 4ab4c8e..343a338 100644
> > --- a/app/test/test_hash_readwrite_lf.c
> > +++ b/app/test/test_hash_readwrite_lf.c
> > @@ -86,7 +86,6 @@ struct {
> > static rte_atomic64_t greads;
> >
> > static volatile uint8_t writer_done;
> > -static volatile uint8_t multi_writer_done[4];
> >
> > uint16_t enabled_core_ids[RTE_MAX_LCORE];
> >
> > @@ -690,7 +689,6 @@ struct {
> >       for (i = offset; i < offset + tbl_rwc_test_param.single_insert;
> i++)
> >               rte_hash_add_key(tbl_rwc_test_param.h,
> >                                tbl_rwc_test_param.keys_ks + i);
> > -     multi_writer_done[pos_core] = 1;
> >       return 0;
> > }
> >
> > @@ -738,10 +736,9 @@ struct {
> >                               rte_eal_remote_launch(test_rwc_reader,
> >                                               (void
> *)(uintptr_t)read_type,
> >
>  enabled_core_ids[i]);
> > -                     rte_eal_mp_wait_lcore();
> >
> >                       for (i = 1; i <= rwc_core_cnt[n]; i++)
> > -                             if (lcore_config[i].ret < 0)
> > +                             if (rte_eal_wait_lcore(i) < 0)
> if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
>
> (There are similar changes in other functions too.
> I realize that this is a separate issue than what the patch is aimed for.
> If you see fit, please integrate it, else I will put out a patch once your
> patch has been merged.)
>

Indeed, reproduced.

# echo hash_readwrite_lf_autotest |./master/app/test -c 0x2e
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15d7 net_e1000_em
APP: HPET is not enabled, using TSC as default timer
RTE>>hash_readwrite_lf_autotest
...

Number of readers: 1
Floating point exception (core dumped)


I'd prefer a separate patch, please.

-- 
David Marchand

  reply	other threads:[~2019-05-22 17:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-15  7:56 [dpdk-dev] [PATCH 1/2] test/hash: use existing lcore API David Marchand
2019-05-15  7:57 ` [dpdk-dev] [PATCH 2/2] test/rcu: " David Marchand
2019-05-15 12:19   ` Maxime Coquelin
2019-05-15 20:04   ` Honnappa Nagarahalli
2019-05-15 12:14 ` [dpdk-dev] [PATCH 1/2] test/hash: " Maxime Coquelin
2019-05-22  0:16 ` Wang, Yipeng1
2019-05-22 12:40   ` David Marchand
2019-05-22 15:06 ` [dpdk-dev] [PATCH v2 " David Marchand
2019-05-22 15:06   ` [dpdk-dev] [PATCH v2 2/2] test/rcu: " David Marchand
2019-05-23 14:20     ` Maxime Coquelin
2019-05-29 22:41       ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2019-05-22 16:26   ` [dpdk-dev] [PATCH v2 1/2] test/hash: " Dharmik Thakkar
2019-05-22 17:17     ` David Marchand [this message]
2019-05-22 19:37       ` Dharmik Thakkar
2019-05-27 10:15         ` David Marchand
2019-05-28 14:15           ` Dharmik Thakkar
2019-05-23 12:48   ` Maxime Coquelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJFAV8wEj0phEiAUXowj9mKKiZexjTZU-bz7g-PnwPnYZY0mbg@mail.gmail.com \
    --to=david.marchand@redhat.com \
    --cc=Dharmik.Thakkar@arm.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=maxime.coquelin@redhat.com \
    --cc=nd@arm.com \
    --cc=pablo.de.lara.guarch@intel.com \
    --cc=sameh.gobriel@intel.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    --cc=yipeng1.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.