This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gdbserver/gdb-6/4 and lots of pthreads


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]