From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28024 invoked by alias); 18 Sep 2007 06:22:33 -0000 Received: (qmail 28015 invoked by uid 22791); 18 Sep 2007 06:22:33 -0000 X-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL,BAYES_00,DK_POLICY_SIGNSOME,UNPARSEABLE_RELAY X-Spam-Check-By: sourceware.org Received: from agminet01.oracle.com (HELO agminet01.oracle.com) (141.146.126.228) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 18 Sep 2007 06:22:27 +0000 Received: from agmgw1.us.oracle.com (agmgw1.us.oracle.com [152.68.180.212]) by agminet01.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id l8I6M9l1009071; Tue, 18 Sep 2007 01:22:09 -0500 Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by agmgw1.us.oracle.com (Switch-3.2.0/Switch-3.2.0) with ESMTP id l8I2Lo8O007887; Tue, 18 Sep 2007 00:22:07 -0600 Received: from adcq13z27-bigip4-int-shared.oracle.com by acsmt357.oracle.com with ESMTP id 4668075741190096525; Tue, 18 Sep 2007 01:22:05 -0500 Message-ID: <46EF6DDE.5090007@oracle.com> Date: Tue, 18 Sep 2007 16:31:00 -0000 From: Wenji Huang User-Agent: Mozilla Thunderbird 1.0.8-1.4.1 (X11/20060420) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Lai Jiangshan CC: systemtap@sourceware.org Subject: Re: [patch] Alter syscall.brk and syscall.mremap to support IA64 References: <46EF5BEE.8020902@cn.fujitsu.com> In-Reply-To: <46EF5BEE.8020902@cn.fujitsu.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-IsSubscribed: yes 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/msg00626.txt.bz2 Lai Jiangshan wrote: > Hi, all > In the current tapset, kernel function sys_brk and sys_mremap are > used to probe syscall.brk and syscall.mremap. But on IA64, the entries > of syscall brk and mremap are actually ia64_brk and ia64_mremap, but not > sys_brk and sys_mremap. Though I think ia64's kernel function will be > finally changed to sys_brk and sys_mremap, it will be a long time so it > is inconvenient for users to probe these 2 syscalls on IA64. So I added > the probe points to syscall.brk and syscall.mremap for IA64 as following: > > diff -Nur /usr/share/systemtap/tapset/syscalls.stp tapset/syscalls.stp > --- /usr/share/systemtap/tapset/syscalls.stp 2007-09-18 > 10:11:15.000000000 +0900 > +++ tapset/syscalls.stp 2007-09-18 12:07:19.000000000 +0900 > @@ -178,12 +178,14 @@ > > # brk ________________________________________________________ > # unsigned long sys_brk(unsigned long brk) > -probe syscall.brk = kernel.function("sys_brk") { > +probe syscall.brk = kernel.function("sys_brk"), > + kernel.function("ia64_brk") ? { > name = "brk" > brk = $brk > argstr = sprintf("%p", brk) > } sys_brk is generic, use %( arch == "ia64" %? to make it optional. Of course, it is better to put architecture depended probe into the corresponding directory. Regards, wenji