From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13866 invoked by alias); 5 Apr 2006 20:16:43 -0000 Received: (qmail 13858 invoked by uid 22791); 5 Apr 2006 20:16:43 -0000 X-Spam-Status: No, hits=-2.6 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; Wed, 05 Apr 2006 20:16:41 +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 k35KGdOD032359; Wed, 5 Apr 2006 16:16:39 -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.11.6) with ESMTP id k35KGWWJ005127; Wed, 5 Apr 2006 16:16: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.8/8.12.8) with ESMTP id k35KGVlO022775; Wed, 5 Apr 2006 16:16:31 -0400 Received: from ton.toronto.redhat.com (ton.toronto.redhat.com [172.16.14.15]) by touchme.toronto.redhat.com (Postfix) with ESMTP id 3198F8002B7; Wed, 5 Apr 2006 16:16:31 -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 k35KGU30018652; Wed, 5 Apr 2006 16:16:30 -0400 Received: (from fche@localhost) by ton.toronto.redhat.com (8.13.1/8.13.1/Submit) id k35KGUIN018649; Wed, 5 Apr 2006 16:16:30 -0400 X-Authentication-Warning: ton.toronto.redhat.com: fche set sender to fche@redhat.com using -f To: Guang Lei Li Cc: systemtap@sources.redhat.com Subject: Re: adding statements in alias definition as epilogue References: From: fche@redhat.com (Frank Ch. Eigler) Date: Wed, 05 Apr 2006 20:16: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/msg00045.txt.bz2 Guang Lei Li writes: > [...] But you are right, backtrace printing is too slow, we need a > faster way of getting the backtrace Unfortunately, even just gathering the PC address history requires searching through up to several kilobytes of stack frames - that must be at least 40K cycles all by itself. My guess is that converting the result to symbol+offset strings is almost as much work again (though could perhaps be deferred). > > > probe derived_probe := alias_with_filter_codes { > > > filter_on = 1 > > > scsi_lun = 2 > > > scsi_dev_major = 3 > > > } > > > > This style of usage could be accommodated with explicit code > > (analogous to "if (target() != pid()) next") instead of alias epilogues. > [...] But how can you pass in filter_on, scsi_lun & scsi_dev_major? Like this: probe derived_probe:= base_alias_without_filter_codes_without_tracing { if (! (scsi_lun == 2 && scsi_dev_major == 3)) next base_trace_function (...) } But you got me thinking about the alias epilogue option. It would solve this problem in a nicer way. Anyone with arguments pro/con? > The newly arguments support in stap could make it, but it seems not > a good solution in this example. Whether the numbers are hardcoded in script or pasted from the command line does not appear to make any difference. - FChE