This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: gdbserver/gdb-6/4 and lots of pthreads
- From: Daniel Jacobowitz <drow at false dot org>
- To: jbbachky at aim dot com
- Cc: gdb at sources dot redhat dot com
- Date: Wed, 15 Nov 2006 11:49:53 -0500
- Subject: Re: gdbserver/gdb-6/4 and lots of pthreads
- References: <8C8D6E7E15FE5F6-5D0-723B@mblk-d22.sysops.aol.com>
On Wed, Nov 15, 2006 at 11:11:45AM -0500, jbbachky@aim.com wrote:
> Gdbserver attaches to my main thread and opens a socket, and then after
> invoking gdb and specifying my remote target, I select the particular
> thread that I wish to debug. Info threads shows all of my threads, and
> I see that gdbserver now attaches to all of them.
Normally this is a feature :-)
> Any attempt to single-step or continue with a breakpoint results in a
> "thrashing system". A counter in my context switching code shows almost
> 150k switchs/second, up from about 1200/sec when not attached with gdb.
> One of the 40 pthreads handle a 10ms SIGALRM. Almost all of the others
> are waiting for messages.
It'll be the 10ms SIGALRM. Fortunately, I have _just_ the thing for
you. If you can wait another day or two, I expect to commit a patch
which dramatically improves gdbserver performance for multithreaded
applications with signals ignored by GDB. You can find the patch on
the gdb-patches list archives if you want to try it in the mean time;
it should apply to a checkout of current CVS HEAD. You need a patched
gdbserver and gdb client.
--
Daniel Jacobowitz
CodeSourcery