From: Carl Love via Gdb-patches <gdb-patches@sourceware.org>
To: Tom Tromey <tom@tromey.com>,
Carl Love via Gdb-patches <gdb-patches@sourceware.org>
Cc: pedromfc@br.ibm.com, Ulrich.Weigand@de.ibm.com, rogealve@br.ibm.com
Subject: RE: [PATCH] kill all threadapply processes at end of test
Date: Thu, 13 May 2021 11:10:30 -0700 [thread overview]
Message-ID: <8ee8a594f30dcdd1506487ea63ca3f8654c5f112.camel@us.ibm.com> (raw)
In-Reply-To: <87im3m63ke.fsf@tromey.com>
Tom, Simon:
On Thu, 2021-05-13 at 10:30 -0400, Simon Marchi wrote:
> From what I can see, there is not attach in that test, only
> detach. GDB
> starts some processes itself, and tests that detaching in a "thread
> apply" command is correctly handled. It's these processes that are
> detached that are left running. Fortunately, they exit when the
> threads' counters go past INT_MAX, making the condition `*myp > 0`
> false. Unfortunately, it means they consume a lot of CPU for some
> time after the test.
Yes, that is a correct summary of the issue.
On Thu, 2021-05-13 at 09:44 -0600, Tom Tromey wrote:
> > > > > > "Carl" == Carl Love via Gdb-patches <
> > > > > > gdb-patches@sourceware.org> writes:
>
> Carl> +# Make sure all of the threadapply processes are terminated
> Carl> +set data [exec ps -e | grep threadapply]
>
> This seems like an issue in a few ways. 'ps' arguments may differ by
> platform. Other programs might be called 'threadapply' (unlikely for
> user stuff but suppose I'm running 2 gdb test suites at the same
> time).
> It doesn't handle cross-host testing (I don't know if we care about
> that
> any more but in the past it was an issue).
>
> So, I wonder if there's a better way to do this.
> Like, could the test track PIDs itself? Then maybe re-attach?
I had tried to do that but couldn't get the code to work.
On Thu, 2021-05-13 at 10:30 -0400, Simon Marchi wrote:
> Instead, could we
> redesign the test so there isn't this CPU-consuming loop? Maybe use
> a pthread barrier, such that when we detach, the all threads are
> released and the program ends immediately. I don't know if that will
> cause complications because the threads' backtraces won't be exactly
> predictable, but it would good to give this a try.
Interesting idea. I will give this a try. If it doesn't work out, I
will go back and work on the re-attach approach some more to see if I
can get that to work.
Thanks for the help.
Carl
next prev parent reply other threads:[~2021-05-13 18:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-12 16:36 Carl Love via Gdb-patches
2021-05-13 14:30 ` Simon Marchi via Gdb-patches
2021-05-13 15:44 ` Tom Tromey
2021-05-13 18:10 ` Carl Love via Gdb-patches [this message]
2021-05-18 15:29 ` Carl Love via Gdb-patches
2021-05-18 21:56 ` Pedro Franco de Carvalho via Gdb-patches
2021-05-19 0:11 ` Pedro Franco de Carvalho via Gdb-patches
2021-05-20 15:42 ` Carl Love via Gdb-patches
2021-05-20 16:01 ` Carl Love via Gdb-patches
2021-05-24 15:30 ` Carl Love via Gdb-patches
2021-05-29 1:48 ` Simon Marchi via Gdb-patches
2021-06-01 15:42 ` Carl Love via Gdb-patches
2021-06-01 16:08 ` Simon Marchi via Gdb-patches
2021-06-02 15:08 ` Carl Love via Gdb-patches
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=8ee8a594f30dcdd1506487ea63ca3f8654c5f112.camel@us.ibm.com \
--to=gdb-patches@sourceware.org \
--cc=Ulrich.Weigand@de.ibm.com \
--cc=cel@us.ibm.com \
--cc=pedromfc@br.ibm.com \
--cc=rogealve@br.ibm.com \
--cc=tom@tromey.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