From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16042 invoked by alias); 30 Apr 2006 20:05:12 -0000 Received: (qmail 16029 invoked by uid 22791); 30 Apr 2006 20:05:10 -0000 X-Spam-Status: No, hits=-3.1 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS 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; Sun, 30 Apr 2006 20:05:07 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id k3UK52Hi008437; Sun, 30 Apr 2006 16:05:02 -0400 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id k3UK4v3E011594; Sun, 30 Apr 2006 16:04:57 -0400 Received: from touchme.toronto.redhat.com (IDENT:postfix@touchme.toronto.redhat.com [172.16.14.9]) by pobox.toronto.redhat.com (8.12.8/8.12.8) with ESMTP id k3UK4vbj012918; Sun, 30 Apr 2006 16:04:57 -0400 Received: from ton.toronto.redhat.com (ton.toronto.redhat.com [172.16.14.15]) by touchme.toronto.redhat.com (Postfix) with ESMTP id C0C1480004C; Sun, 30 Apr 2006 16:04:56 -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 k3UK4uvl027133; Sun, 30 Apr 2006 16:04:56 -0400 Received: (from fche@localhost) by ton.toronto.redhat.com (8.13.1/8.13.1/Submit) id k3UK4upp027130; Sun, 30 Apr 2006 16:04:56 -0400 X-Authentication-Warning: ton.toronto.redhat.com: fche set sender to fche@redhat.com using -f To: "Stone, Joshua I" Cc: Subject: Re: Tapset difficulties w/ functions References: From: fche@redhat.com (Frank Ch. Eigler) Date: Sun, 30 Apr 2006 20:05:00 -0000 In-Reply-To: Message-ID: User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2006-q2/txt/msg00278.txt.bz2 joshua.i.stone wrote: > [...] > A very clean solution I came up with requires tapset wildcards that > ignore "missing" matches. We've discussed this before to make > "syscall.*" easier, but that was decided against. However, here's > another example of how this could make things very clean: > > probe process.exec = _process.exec.* { /* do stuff */ } > probe _process.exec.part1 = kernel.function("do_execve") {} > probe _process.exec.part2 = kernel.function("compat_do_execve") {} > [...] Thank you (and Martin) for keeping on this. Such data is just what the argument needs to move forward. > [...] Another problem I have is with a signal handling probe - > handle_signal seems perfect for this, except that on the 2096_FC5 > kernel this function is inlined. [...] One solution is to have a > new dwarf-probe that will match both normal functions and inlines. This was being discussed in old bug #1570. We didn't get that to a conclusion. (The .inline() vs .function() distinction was invented for supporting .function("*),.function("*").return idioms. Would this "fault-tolerant" wildcarding have an advantage over an explicit "optional probe" syntax like this: probe FOO ? { } probe alias = BAR ?, BAZ ? { } Then the first alternative would be expressed thusly, if they can share handlers: probe process.exec = kernel.function("do_execve") ?, kernel.function("compat_do_execve") ? { /* do stuff */ } - FChE