This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: problems with sched tapset on ubuntu precise 3.2.0
- From: Thiago Manel <thiago dot manel at gmail dot com>
- To: David Smith <dsmith at redhat dot com>
- Cc: "systemtap at sourceware dot org" <systemtap at sourceware dot org>
- Date: Wed, 8 May 2013 11:56:01 -0300
- Subject: Re: problems with sched tapset on ubuntu precise 3.2.0
- References: <CAHiC6b0jFDRAcmkZq-KypjsoFO6kmfDH5S=64WbCbAEY0O1Obg at mail dot gmail dot com> <518947C5 dot 4020001 at redhat dot com> <CAHiC6b0hO=fvwqkfHBaMC=UzCdSA4yKEJSYji-Nk2hSVF5H5dA at mail dot gmail dot com> <518A5DF1 dot 3010207 at redhat dot com>
David,
The first check indicates the kernel was compiled correctly
(CONFIG_TRACEPOINTS=y)
cat /boot/config-`uname -r` | grep TRACE
CONFIG_STACKTRACE_SUPPORT=y
# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_TRACEPOINTS=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_CAN_PM_TRACE=y
I also run the new schedtimes.stp, unfortunately I faced the error you
said, it was not able find the args ...
semantic error: not accessible at this address (0xffffffff81659cc6,
dieoffset: 0x7bd1ea): identifier '$prev' at :35:18
source: previous_pid = $prev->pid;
I will downgrade to a 2.* kernel, thanks for the helping anyway.
On Wed, May 8, 2013 at 11:15 AM, David Smith <dsmith@redhat.com> wrote:
> On 05/08/2013 08:25 AM, Thiago Manel wrote:
>> Hi David, sorry for the late response
>>
>> - for the first check, I see an error:
>>
>> stap -vv -l 'kernel.trace("sched_*")'
>> Systemtap translator/driver (version 1.6/0.152 non-git sources)
>> Copyright (C) 2005-2011 Red Hat, Inc. and others
>> This is free software; see the source for copying conditions.
>> enabled features: AVAHI LIBSQLITE3 NSS BOOST_SHARED_PTR TR1_UNORDERED_MAP NLS
>> Created temporary directory "/tmp/stapNw4kVW"
>> Session arch: x86_64 release: 3.2.0-23-generic
>> Searched: " /usr/share/systemtap/tapset/x86_64/*.stp ", found: 4, processed: 4
>> Searched: " /usr/share/systemtap/tapset/*.stp ", found: 73, processed: 73
>> Pass 1: parsed user script and 77 library script(s) using
>> 84096virt/22508res/2556shr kb, in 60usr/0sys/70real ms.
>> semantic error: no match while resolving probe point kernel.trace("sched_*")
>> Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0
>> global(s) using 230984virt/23700res/2908shr kb, in
>> 40usr/100sys/125real ms.
>> Running rm -rf /tmp/stapNw4kVW
>> Spawn waitpid result (0x0): 0
>>
>> - whereas for the second one, it succeeds:
>>
>> stap -l 'kernel.function("context_switch")'
>> kernel.function("context_switch@/build/buildd/linux-3.2.0/kernel/sched.c:3287")
>>
>> Regarding the CONFIG_TRACEPOINTS (I'm not sure I'm looking to the
>> right place) I have ...
>
> On a fedora system, you'd look in /boot/config-`uname -r`. I don't know
> where you'd find the kernel config file on ubuntu.
>
> I see where the error is coming from now. The process/schedtimes.stp
> script is written to only use tracepoints, it doesn't have the
> kernel.function fallback like the scheduler.cpu_off tapset probe alias.
> So, if your kernel doesn't have the sched kernel tracepoints the
> schedtimes.stp script won't work as written. We could try adding in the
> kernel.function fallback, but on many kernels that kernel function gets
> inlined which makes it difficult to find the arguments.
>
> Here's an (untested) version of schedtimes.stp with the kernel.function
> fallbacks added. See if it works for you.
>
> --
> David Smith
> dsmith@redhat.com
> Red Hat
> http://www.redhat.com
> 256.217.0141 (direct)
> 256.837.0057 (fax)
--
Thiago Emmanuel Pereira da Cunha Silva
-----------------------------------------------
www.lsd.ufcg.edu.br/~thiagoepdc
-----------------------------------------------