From: "Van Haaren, Harry" <harry.van.haaren@intel.com>
To: David Marchand <david.marchand@redhat.com>
Cc: dev <dev@dpdk.org>,
Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>,
Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
Phil Yang <phil.yang@arm.com>, Aaron Conole <aconole@redhat.com>
Subject: Re: [dpdk-dev] [PATCH v6 2/2] test/service: fix race condition on stopping lcore
Date: Thu, 15 Oct 2020 08:11:57 +0000 [thread overview]
Message-ID: <BYAPR11MB3143B91C189C653C9D8E2817D7020@BYAPR11MB3143.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CAJFAV8y21GAarHKSYc7GKY+dd-u6mzufXPV2PYtXwuNSBvn0UA@mail.gmail.com>
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Tuesday, October 13, 2020 8:45 PM
> To: Van Haaren, Harry <harry.van.haaren@intel.com>
> Cc: dev <dev@dpdk.org>; Lukasz Wojciechowski
> <l.wojciechow@partner.samsung.com>; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; Phil Yang <phil.yang@arm.com>; Aaron
> Conole <aconole@redhat.com>
> Subject: Re: [PATCH v6 2/2] test/service: fix race condition on stopping lcore
>
> Hello Harry,
>
> Long time no see :-)
>
> On Mon, Sep 21, 2020 at 4:51 PM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > On Mon, Sep 14, 2020 at 4:30 PM Harry van Haaren
> > <harry.van.haaren@intel.com> wrote:
> > >
> > > This commit fixes a potential race condition in the tests
> > > where the lcore running a service would increment a counter
> > > that was already reset by the test-suite thread. The resulting
> > > race-condition incremented value could cause CI failures, as
> > > indicated by DPDK's CI.
> > >
> > > This patch fixes the race-condition by making use of the
> > > added rte_service_lcore_active() API, which indicates when
> > > a service-core is no longer in the service-core polling loop.
> > >
> > > The unit test makes use of the above function to detect when
> > > all statistics increments are done in the service-core thread,
> > > and then the unit test continues finalizing and checking state.
> > >
> > > Fixes: f28f3594ded2 ("service: add attribute API")
> > >
> > > Reported-by: David Marchand <david.marchand@redhat.com>
> > > Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
> > > Reviewed-by: Phil Yang <phil.yang@arm.com>
> > > Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> >
>
> We probably need a followup fix for:
> https://travis-ci.com/github/DPDK/dpdk/jobs/398954463#L10088
>
>
> The race is in service_attr_get where we look at/reset spent cycles
> while a service lcore is still running.
> Quoting this test code:
>
> rte_service_lcore_stop(slcore_id);
/* TODO: implement wait for slcore_id to stop polling here */
> TEST_ASSERT_EQUAL(0, rte_service_attr_get(id, attr_calls, &attr_value),
> "Valid attr_get() call didn't return success");
> TEST_ASSERT_EQUAL(1, (attr_value > 0),
> "attr_get() call didn't get call count (zero)");
>
> TEST_ASSERT_EQUAL(0, rte_service_attr_reset_all(id),
> "Valid attr_reset_all() return success");
>
> TEST_ASSERT_EQUAL(0, rte_service_attr_get(id, attr_id, &attr_value),
> "Valid attr_get() call didn't return success");
Based on the output you provided ( https://travis-ci.com/github/DPDK/dpdk/jobs/398954463#L10088 )
and the above, indeed it seems that the core may not have stopped yet (race-cond).
Will send a patch - thanks for reporting with details, -Harry
prev parent reply other threads:[~2020-10-15 8:12 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20200720120850eucas1p10debcafa273d244a7e63d225c50cc9df@eucas1p1.samsung.com>
2020-07-20 12:09 ` [dpdk-dev] [PATCH] service: fix stop API to wait for service thread Harry van Haaren
2020-07-20 12:51 ` Lukasz Wojciechowski
2020-07-20 14:20 ` Van Haaren, Harry
2020-07-20 14:38 ` [dpdk-dev] [PATCH v2 1/2] service: add API to retrieve service core active Harry van Haaren
2020-07-20 14:38 ` [dpdk-dev] [PATCH v2 2/2] test/service: fix race condition on stopping lcore Harry van Haaren
2020-07-20 17:45 ` Lukasz Wojciechowski
2020-07-21 8:38 ` Phil Yang
2020-07-22 10:26 ` Van Haaren, Harry
2020-07-20 17:45 ` [dpdk-dev] [PATCH v2 1/2] service: add API to retrieve service core active Lukasz Wojciechowski
2020-07-21 7:47 ` Phil Yang
2020-07-21 19:43 ` Honnappa Nagarahalli
2020-07-21 19:50 ` David Marchand
2020-07-21 20:23 ` Honnappa Nagarahalli
2020-07-22 10:14 ` Van Haaren, Harry
2020-07-22 18:50 ` Honnappa Nagarahalli
2020-07-23 16:59 ` Van Haaren, Harry
2020-07-22 10:37 ` [dpdk-dev] [PATCH v3 " Harry van Haaren
2020-07-22 10:37 ` [dpdk-dev] [PATCH v3 2/2] test/service: fix race condition on stopping lcore Harry van Haaren
2020-07-22 21:40 ` Honnappa Nagarahalli
2020-07-22 21:39 ` [dpdk-dev] [PATCH v3 1/2] service: add API to retrieve service core active Honnappa Nagarahalli
2020-07-24 12:45 ` [dpdk-dev] [PATCH v4 " Harry van Haaren
2020-07-24 12:45 ` [dpdk-dev] [PATCH v4 2/2] test/service: fix race condition on stopping lcore Harry van Haaren
2020-07-24 13:45 ` [dpdk-dev] [PATCH v5 1/2] service: add API to retrieve service core active Harry van Haaren
2020-07-24 13:45 ` [dpdk-dev] [PATCH v5 2/2] test/service: fix race condition on stopping lcore Harry van Haaren
2020-09-14 8:36 ` David Marchand
2020-09-14 14:33 ` Van Haaren, Harry
2020-09-14 14:31 ` [dpdk-dev] [PATCH v6 1/2] service: add API to retrieve service core active Harry van Haaren
2020-09-14 14:31 ` [dpdk-dev] [PATCH v6 2/2] test/service: fix race condition on stopping lcore Harry van Haaren
2020-09-21 14:51 ` David Marchand
2020-10-13 19:45 ` David Marchand
2020-10-15 8:11 ` Van Haaren, Harry [this message]
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=BYAPR11MB3143B91C189C653C9D8E2817D7020@BYAPR11MB3143.namprd11.prod.outlook.com \
--to=harry.van.haaren@intel.com \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=aconole@redhat.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=l.wojciechow@partner.samsung.com \
--cc=phil.yang@arm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).