This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: problems with sched tapset on ubuntu precise 3.2.0


On 05/07/2013 10:05 AM, Thiago Manel wrote:
> Hi list,
> 
> I'm facing the following error when trying to run  testsuite/systemtap.examples/
> process/schedtimes.stp script
> 
> stap schedtimes.stp -x 2064
> 
> Warning: make exited with status: 2
> Warning: make exited with status: 2
> Warning: make exited with status: 2
> Warning: make exited with status: 2
> ^CWarning: make exited with status: 130
> semantic error: no match while resolving probe point
> kernel.trace("sched_switch")
> Pass 2: analysis failed.  Try again with another '--vp 01' option.
> 
> In fact, my installation does not know the "sched_switch" probe point ...
> 
> stap -l 'kernel.function("sched_s*")'
> kernel.function("sched_set_stop_task@/build/buildd/linux-3.2.0/kernel/sched.c:2205")
> kernel.function("sched_setaffinity@/build/buildd/linux-3.2.0/kernel/sched.c:5543")
> kernel.function("sched_setscheduler@/build/buildd/linux-3.2.0/kernel/sched.c:5407")
> kernel.function("sched_setscheduler_nocheck@/build/buildd/linux-3.2.0/kernel/sched.c:5425")
> kernel.function("sched_show@/build/buildd/linux-3.2.0/fs/proc/base.c:1359")
> kernel.function("sched_show_task@/build/buildd/linux-3.2.0/kernel/sched.c:5998")
> kernel.function("sched_slice@/build/buildd/linux-3.2.0/kernel/sched_fair.c:514")
> kernel.function("sched_smt_power_savings_show@/build/buildd/linux-3.2.0/kernel/sched.c:7960")
> kernel.function("sched_smt_power_savings_store@/build/buildd/linux-3.2.0/kernel/sched.c:7966")
> kernel.function("sched_submit_work@/build/buildd/linux-3.2.0/kernel/sched.c:4473")

You misread the error message a bit. Here's how the scheduler.cpu_off
probe point is defined:

====
probe scheduler.cpu_off =
	kernel.trace("sched_switch") !,
	kernel.function("context_switch")
{
    name = "cpu_off"
    task_prev = $prev
    task_next = $next
    idle = __is_idle()
}
====

So, that probe point looks for the kernel tracepoint 'sched_switch' or
the kernel function 'context_switch' (if it finds the tracepoint, it
won't bother with the function).

Since you got that error, that means systemtap thinks you don't have either.

Let's test that theory. Try the following commands on your kernel and
see what you get. Your 3.2 kernel should have both (assuming
CONFIG_TRACEPOINTS is on).

# stap -l 'kernel.trace("sched_*")'
# stap -l 'kernel.function("context_switch")'

Is CONFIG_TRACEPOINTS on in your kernel?

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]