DPDK patches and discussions
 help / color / mirror / Atom feed
From: Aaron Conole <aconole@redhat.com>
To: David Marchand <david.marchand@redhat.com>
Cc: Harry Van Haaren <harry.van.haaren@intel.com>,  dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] [RFC] service: stop lcore threads before 'finalize'
Date: Tue, 04 Feb 2020 09:50:39 -0500	[thread overview]
Message-ID: <f7ttv462yps.fsf@dhcp-25.97.bos.redhat.com> (raw)
In-Reply-To: <CAJFAV8zmms4PcrD5mnjnvm04A18oN+abHEoN_FHTMVpK4-ODjQ@mail.gmail.com> (David Marchand's message of "Tue, 4 Feb 2020 14:34:08 +0100")

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

> 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).

>
> 1: https://patchwork.dpdk.org/patch/64201/


  reply	other threads:[~2020-02-04 14:51 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 [this message]
2020-02-10 14:16       ` Van Haaren, Harry
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=f7ttv462yps.fsf@dhcp-25.97.bos.redhat.com \
    --to=aconole@redhat.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=harry.van.haaren@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 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).