From: Markus Alber <markus@hyperion-imrt.org>
To: Michael Snyder <msnyder@vmware.com>
Cc: <gdb@sourceware.org>
Subject: Re: performance of multithreading gets gradually worse under gdb
Date: Thu, 03 Feb 2011 20:52:00 -0000 [thread overview]
Message-ID: <38fe09dafa0e58ac3327f41b3afed1ed@hyperion-imrt.org> (raw)
In-Reply-To: <4D4B0F71.1020708@vmware.com>
On Thu, 03 Feb 2011 12:26:25 -0800, Michael Snyder wrote:
> Markus Alber wrote:
>> I compiled gdb-6.5 alright and it performs well as usual, without
>> this problem.
>
> Good info. What version of gdb were you using when you detected the
> problem?
it was gdb 7.1 as it comes with OpenSuSE 11.3
Meanwhile I tried every release between 6.5 and 7.2. All the 7's showed
the
problem, but it was also perceivable with 6.8.91.
I was a bit too quick to assert that 6.5 was working well... it wasn't
possible
to set break points, some 6.8 versions crashed. There seems to be some
incompatibility
between the compiler on OpenSuse 11.3 and the older gdbs (I got them as
sources from
the gnu repository)
> I ran your program stand-alone, then under gdb 7.0, then gdb 7.2CVS.
> On my not-so-new system I got the following times:
> stand alone: 15m33s
> gdb 7.0 16m
> gdb 7.2CVS 16m10s
So I presume the stripping-down removed something that causes the
problem in the
larger application. Or, is it a possibility that it has something to do
with the kernel or compiler of
OpenSuSE 11.3?
Meanwhile I've gone back to my older 4-core machine running gdb 6.5 on
OpenSuse 10.2.
Performance is constant throughout. I did notice that gdb allocates
memory for each
iteration.
>
> I could not perceive any change in the cycle time from beginning to
> end.
>
> GDB 7.0 did increase its memory footprint by about 3mb during the run
> (3 percent). So that could indicate some leakage, around 15k per
> cycle.
> But I can't see that as the main reason for the slow-down you're
> reporting, considering that your system is not memory bound.
>
> GDB 7.2CVS increased its memory footprint by only about 500kb during
> the
> whole run, so you might consider giving that a try. Instructions for
> getting the latest development sources are here:
>
> http://sourceware.org/gdb/current/
>
> If you'd be willing to contribute your little sample program, we
> might be able to use it for a thread debugging stress test or
> something.
>
> Michael
next prev parent reply other threads:[~2011-02-03 20:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-02 20:16 Markus Alber
2011-02-02 20:28 ` Michael Snyder
[not found] ` <76bccf1875854ebc69b6a892fb84a976@hyperion-imrt.org>
2011-02-02 21:43 ` Michael Snyder
2011-02-03 7:03 ` Markus Alber
2011-02-03 20:26 ` Michael Snyder
2011-02-03 20:52 ` Markus Alber [this message]
2011-02-03 20:57 ` Tom Tromey
2011-02-03 21:00 ` Tom Tromey
2011-02-03 21:40 ` Ulrich Weigand
2011-02-03 22:04 ` Tom Tromey
2011-02-04 13:49 ` Ulrich Weigand
2011-02-04 14:55 ` Pedro Alves
2011-02-04 15:13 ` Ulrich Weigand
2011-02-04 15:26 ` Tom Tromey
2011-02-04 15:56 ` Pedro Alves
[not found] ` <201102041555.52179.pedro__21913.9744448059$1296834976$gmane$org@codesourcery.com>
2011-02-04 17:02 ` Tom Tromey
2011-02-05 9:34 ` Markus Alber
2011-02-07 14:05 ` Markus Alber
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=38fe09dafa0e58ac3327f41b3afed1ed@hyperion-imrt.org \
--to=markus@hyperion-imrt.org \
--cc=gdb@sourceware.org \
--cc=msnyder@vmware.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