From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10857 invoked by alias); 5 Sep 2007 01:49:46 -0000 Received: (qmail 10385 invoked by uid 22791); 5 Sep 2007 01:49:40 -0000 X-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DK_POLICY_SIGNSOME,SPF_HELO_PASS,SPF_PASS,SUBJ_HAS_UNIQ_ID X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 05 Sep 2007 01:49:36 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.1/8.13.1) with ESMTP id l851nYmR024458; Tue, 4 Sep 2007 21:49:34 -0400 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id l851nXNH003427; Tue, 4 Sep 2007 21:49:33 -0400 Received: from touchme.toronto.redhat.com (IDENT:postfix@touchme.toronto.redhat.com [172.16.14.9]) by pobox.toronto.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id l851nX94017822; Tue, 4 Sep 2007 21:49:33 -0400 Received: from ton.toronto.redhat.com (ton.toronto.redhat.com [172.16.14.15]) by touchme.toronto.redhat.com (Postfix) with ESMTP id EEFB680019E; Tue, 4 Sep 2007 21:49:32 -0400 (EDT) Received: from ton.toronto.redhat.com (localhost.localdomain [127.0.0.1]) by ton.toronto.redhat.com (8.13.1/8.13.1) with ESMTP id l851nWeL009748; Tue, 4 Sep 2007 21:49:32 -0400 Received: (from fche@localhost) by ton.toronto.redhat.com (8.13.1/8.13.1/Submit) id l851nWLU009747; Tue, 4 Sep 2007 21:49:32 -0400 X-Authentication-Warning: ton.toronto.redhat.com: fche set sender to fche@redhat.com using -f To: Jim Keniston Cc: systemtap@sources.redhat.com, utrace-devel@redhat.com Subject: Re: external systemtap meeting notes 20070816 References: From: fche@redhat.com (Frank Ch. Eigler) Date: Wed, 05 Sep 2007 06:15:00 -0000 In-Reply-To: (Jim Keniston's message of "Tue, 04 Sep 2007 15:31:52 -0700") Message-ID: User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2007-q3/txt/msg00506.txt.bz2 jkenisto wrote [untrimmed for forwarding to utrace-devel]: > [...] > Uprobes maintains one utrace engine per probed task. When > instrumentation modules A and B register uprobes at the same address, > and that probepoint gets hit, uprobes's signal (SIGTRAP) callback gets > called (once). It calls both A's and B's handlers (a la aggregate > kprobes), then eats the SIGTRAP. > > If A and B each got its own engine, then what would uprobes's callback > do? If the callback eats the SIGTRAP, then the 2nd handler never gets > called. If it doesn't eat the SIGTRAP, the probed process takes the > SIGTRAP and dies. We could work up some new way that A and B could > coordinate this sort of thing, but then we're back to needing some sort > of shared (among instrumentation modules) data structures. And what we > have now works just fine. This is probably related to Roland's "engine interaction" note (http://tinyurl.com/22jt2o). It would be nice if concurrent engines could nest transparently - or failing that, at least be aware of each other enough to get this right. - FChE