From: "Van Haaren, Harry" <harry.van.haaren@intel.com>
To: Aaron Conole <aconole@redhat.com>,
David Marchand <david.marchand@redhat.com>
Cc: dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] [RFC] service: stop lcore threads before 'finalize'
Date: Mon, 10 Feb 2020 14:16:39 +0000 [thread overview]
Message-ID: <MN2PR11MB4447E9C17B3505FFC271EBD7D7190@MN2PR11MB4447.namprd11.prod.outlook.com> (raw)
In-Reply-To: <f7ttv462yps.fsf@dhcp-25.97.bos.redhat.com>
> -----Original Message-----
> From: Aaron Conole <aconole@redhat.com>
> Sent: Tuesday, February 4, 2020 2:51 PM
> To: David Marchand <david.marchand@redhat.com>
> Cc: Van Haaren, Harry <harry.van.haaren@intel.com>; dev <dev@dpdk.org>
> Subject: Re: [RFC] service: stop lcore threads before 'finalize'
>
> David Marchand <david.marchand@redhat.com> writes:
>
> > On Fri, Jan 17, 2020 at 9:17 AM David Marchand
> > <david.marchand@redhat.com> wrote:
> >>
> >> On Thu, Jan 16, 2020 at 8:50 PM Aaron Conole <aconole@redhat.com> wrote:
> >> >
> >> > I've noticed an occasional segfault from the build system in the
> >> > service_autotest and after talking with David (CC'd), it seems like
> it's
> >> > due to the rte_service_finalize deleting the lcore_states object while
> >> > active lcores are running.
> >> >
> >> > The below patch is an attempt to solve it by first reassigning all the
> >> > lcores back to ROLE_RTE before releasing the memory. There is probably
> >> > a larger question for DPDK proper about actually closing the pending
> >> > lcore threads, but that's a separate issue. I've been running with the
> >> > patch for a while, and haven't seen the crash anymore on my system.
> >> >
> >> > Thoughts? Is it acceptable as-is?
> >>
> >> Added this patch to my env, still reproducing the same issue after ~10-20
> tries.
> >> I added a breakpoint to service_lcore_uninit that is indeed caught
> >> when exiting the test application (just wanted to make sure your
> >> change was in my binary).
> >
> > Harry,
> >
> > We need a fix for this issue.
>
> +1
Hi All,
> > Interestingly, Stephen patch that joins all pthreads at
> > rte_eal_cleanup [1] makes this issue disappear.
> > So my understanding is that we are missing a api (well, I could not
> > find a way) to synchronously stop service lcores.
>
> Maybe we can take that patch as a fix. I hate to see this segfault
> in the field. I need to figure out what I missed in my cleanup
> (probably missed a synchronization point).
I haven't easily reproduced this yet - so I'll investigate a way to
reproduce with close to 100% rate, then we can identify the root cause
and actually get a clean fix. If you have pointers to reproduce easily,
please let me know.
-H
> > 1: https://patchwork.dpdk.org/patch/64201/
next prev parent reply other threads:[~2020-02-10 14:16 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-16 19:50 Aaron Conole
2020-01-17 8:17 ` David Marchand
2020-02-04 13:34 ` David Marchand
2020-02-04 14:50 ` Aaron Conole
2020-02-10 14:16 ` Van Haaren, Harry [this message]
2020-02-10 14:42 ` David Marchand
2020-02-20 13:25 ` David Marchand
2020-02-21 12:28 ` Van Haaren, Harry
2020-03-10 13:04 ` David Marchand
2020-03-10 13:27 ` Van Haaren, Harry
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=MN2PR11MB4447E9C17B3505FFC271EBD7D7190@MN2PR11MB4447.namprd11.prod.outlook.com \
--to=harry.van.haaren@intel.com \
--cc=aconole@redhat.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
/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).