From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7440 invoked by alias); 17 Sep 2005 00:19:53 -0000 Mailing-List: contact rda-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: rda-owner@sources.redhat.com Received: (qmail 7120 invoked by uid 22791); 17 Sep 2005 00:18:54 -0000 Received: from nat-pool-rdu.redhat.com (HELO devserv.devel.redhat.com) (66.187.233.202) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Sat, 17 Sep 2005 00:18:54 +0000 Received: from alligator.red-bean.com.redhat.com (vpn26-3.sfbay.redhat.com [172.16.26.3]) by devserv.devel.redhat.com (8.12.11/8.12.11) with ESMTP id j8H0IorB018245; Fri, 16 Sep 2005 20:18:51 -0400 To: Kevin Buettner Cc: rda@sources.redhat.com Subject: Re: [RFC] Improve performance of multi-threaded debugging References: <20050914150439.5a86df49@ironwood.lan> <20050916134939.5ad3fe5f@ironwood.lan> From: Jim Blandy Date: Sat, 17 Sep 2005 00:19:00 -0000 In-Reply-To: <20050916134939.5ad3fe5f@ironwood.lan> (Kevin Buettner's message of "Fri, 16 Sep 2005 13:49:39 -0700") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2005-q3/txt/msg00009.txt.bz2 Kevin Buettner writes: > On Fri, 16 Sep 2005 13:19:57 -0700 > Jim Blandy wrote: > >> >> Kevin Buettner writes: >> > The only fly in the ointment is that the signal based event model only >> > knows about thread creation, but not about thread death. So it won't >> > catch thread death until some new thread is created. I'm not sure >> > what the implications of this are in practice. >> >> Even in the signal-based model, we're attached to all the threads, so >> we should get a wait status via lwp_pool_waitpid. Isn't that working? > > It probably does, but do not know for certain. > > I saw that the thread list was getting fetched on every status check. My > assumption was that there was some good reason for this to occur and revised > the code so that it would only happen when so informed by the event model. > What I did not investigate is whether the thread refetch ever really needs > to happen at all. Well, that's a bigger question than the one I was thinking about. You wrote that you were concerned about missing thread death events, and I was saying that I thought that wouldn't happen. It would be nice to look at the larger question of whether we need to re-transfer the list at all, or whether we could just let TD_CREATE and TD_DEATH maintain it. Something makes me a little uncomfortable with an "edge-sensitive" model over a "level-sensitive" model, but I can't see anything wrong with it.