DPDK patches and discussions
 help / color / mirror / Atom feed
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: "Van Haaren, Harry" <harry.van.haaren@intel.com>,
	Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>,
	Phil Yang <Phil.Yang@arm.com>, Aaron Conole <aconole@redhat.com>
Cc: David Marchand <david.marchand@redhat.com>,
	Igor Romanov <igor.romanov@oktetlabs.ru>, dev <dev@dpdk.org>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>, nd <nd@arm.com>,
	Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
	nd <nd@arm.com>
Subject: Re: [dpdk-dev] Random failure in service_autotest
Date: Tue, 21 Jul 2020 15:09:28 +0000	[thread overview]
Message-ID: <DB6PR0802MB2216A275FD0C3BB5CCD4E88198780@DB6PR0802MB2216.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <BYAPR11MB3143E09483A5C064D93F1271D7780@BYAPR11MB3143.namprd11.prod.outlook.com>

<snip>

> <more snip>
> 
> Thanks Lukasz & Phil for v2 reviews & Acks.
> 
> > > >>           return 0;
> > > > Changing the implementation loop counting is one option - but
> > > > changing the implementation as a workaround for a unit test seems
> > > > like the wrong
> > > way around.
> > > I agree. We should fix the test not the service implementation. Of
> > > course it would be nice to do so without inserting sleeps as it's a
> > > workaround for true synchronization.
> > I think the service shutdown sequence in the test case is not correct.
> > We cannot call 'rte_service_lcore_stop' without first shutting down
> > the service using 'rte_service_runstate_set' and
> > 'rte_service_component_runstate_set'. The 'rte_service_lcore_stop' has
> > checks to validate that the service is not running currently (among
> > other things). In fact, the call to 'rte_service_lcore_stop' API is
> > returning -EBUSY currently in the test case. We are not checking the return
> status.
> >
> > If I understand the intent of the test case correctly, the sequence of
> > the calls needs to be:
> > rte_service_runstate_set(id, 0)
> > rte_service_component_runstate_set(id, 0); rte_service_may_be_active -
> > loop till the service is not active rte_service_lcore_stop(slcore_id);
> 
> No need to change service runstates, unmapping the service lcore to the
> service allows service_lcore_stop() to work as expected, and not return -
> EBUSY. This change to add an unmap() is integrated in the test case in the v2
> patch.
Ok, understood.
Looking at the patch, why not use the 'rte_service_lcore_stop' to provide the status of the lcore?
For ex: the 'thread_active' can be used in 'rte_service_lcore_stop' to indicate that the lcore is still busy?

> 
> 
> > > > Honnappa's suggestion in the other reply seems to not work here,
> > > > as the
> > > "service_may_be_active"
> > > > won't get updated if the service core is stopped after running its
> > > > final
> > > iteration..?
> > This also is a problem.
> > This needs to be fixed by setting 'service_active_on_lcore'
> > immediately after the service completes running in 'service_run'
> > (rather than waiting for the next iteration of service_run).
> 
> This is a different bug - not directly related to the service_autotest issue
> reported here. I'll keep focus & resolve that issue first as it has higher priorty
> due to CI failures.
Sure.

> 
> <snip previous discsussion>

  parent reply	other threads:[~2020-07-21 15:09 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-15 10:14 David Marchand
2020-07-15 10:41 ` Ferruh Yigit
2020-07-17  8:56   ` David Marchand
2020-07-17 15:19     ` David Marchand
2020-07-17 20:31       ` Lukasz Wojciechowski
2020-07-17 22:38         ` Aaron Conole
2020-07-17 22:43           ` Honnappa Nagarahalli
2020-07-18  8:34           ` Phil Yang
2020-07-20 12:09             ` Van Haaren, Harry
2020-07-20 12:47               ` Lukasz Wojciechowski
2020-07-21  5:39                 ` Honnappa Nagarahalli
2020-07-21  8:01                   ` Van Haaren, Harry
2020-07-21  8:07                     ` David Marchand
2020-07-21  8:16                       ` Lukasz Wojciechowski
2020-07-21 15:09                     ` Honnappa Nagarahalli [this message]
2020-07-21 15:38                       ` Van Haaren, Harry
2020-07-21 16:21                         ` Honnappa Nagarahalli
2020-07-15 12:56 ` Aaron Conole
2020-07-15 13:02   ` David Marchand
2020-07-15 13:09     ` Lukasz Wojciechowski
2020-07-15 13:28       ` David Marchand
2020-07-15 13:39         ` Aaron Conole
2020-07-15 20:26           ` Honnappa Nagarahalli

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=DB6PR0802MB2216A275FD0C3BB5CCD4E88198780@DB6PR0802MB2216.eurprd08.prod.outlook.com \
    --to=honnappa.nagarahalli@arm.com \
    --cc=Phil.Yang@arm.com \
    --cc=aconole@redhat.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=harry.van.haaren@intel.com \
    --cc=igor.romanov@oktetlabs.ru \
    --cc=l.wojciechow@partner.samsung.com \
    --cc=nd@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).