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: Josh Stone <jistone at redhat dot com>
- To: Thiago Manel <thiago dot manel at gmail dot com>
- Cc: David Smith <dsmith at redhat dot com>, "systemtap at sourceware dot org" <systemtap at sourceware dot org>
- Date: Tue, 14 May 2013 13:13:17 -0700
- 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> <CAHiC6b06yQMSTh6nMtfp9MVS99+W21eO7KQ81hR2qbSQU12uDw at mail dot gmail dot com> <51915971 dot 1040802 at redhat dot com> <CAHiC6b3W4_9g6y7sPWmgv8JZSgr3R_GVFAz6DNY4v0vNrGdoXw at mail dot gmail dot com>
I took a look at Ubuntu's linux-headers-3.2.0-23, and it does appear to
have the right trace/events/sched.h for the tracepoint, so it's bizarre
that stap's detection isn't working.
If you're willing to keep digging, here's a command which will dump a
lot of information as stap looks for tracepoints on your system:
stap -l 'kernel.trace("sched_switch")' --poison-cache --vp 09
That should list all the tracepoint headers it discovers, which here we
care about trace/events/sched.h. Then you'll see the compilation
attempt for each one, something like this:
> Processing tracepoint header
> /lib/modules/3.8.11-200.fc18.x86_64/build/include/trace/events/sched.h
> with query /tmp/stapPj56Fw/tracequery_kmod_1/tracequery_kmod_1_30.c
... and later a gcc invocation for that matching tracequery_kmod_1_30.c
Assuming that compiled ok, then it will be cached like:
> Copying /tmp/stapPj56Fw/tracequery_kmod_1/tracequery_kmod_1_30.o to
> /home/jistone/.systemtap/cache/99/tracequery_995371d23264963c11356fa9e1b689eb_837.o
And you can inspect that object to see what stap sees:
> $ nm --defined-only /home/jistone/.systemtap/cache/99/tracequery_995371d23264963c11356fa9e1b689eb_837.o
> 0000000000000000 T stapprobe_sched_kthread_stop
> 0000000000000010 T stapprobe_sched_kthread_stop_ret
> 0000000000000050 T stapprobe_sched_migrate_task
> 0000000000000110 T stapprobe_sched_pi_setprio
> 00000000000000b0 T stapprobe_sched_process_exec
> 0000000000000070 T stapprobe_sched_process_exit
> 00000000000000a0 T stapprobe_sched_process_fork
> 0000000000000060 T stapprobe_sched_process_free
> 0000000000000090 T stapprobe_sched_process_wait
> 00000000000000f0 T stapprobe_sched_stat_blocked
> 00000000000000e0 T stapprobe_sched_stat_iowait
> 0000000000000100 T stapprobe_sched_stat_runtime
> 00000000000000d0 T stapprobe_sched_stat_sleep
> 00000000000000c0 T stapprobe_sched_stat_wait
> 0000000000000040 T stapprobe_sched_switch
> 0000000000000080 T stapprobe_sched_wait_task
> 0000000000000020 T stapprobe_sched_wakeup
> 0000000000000030 T stapprobe_sched_wakeup_new