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 14:11:36 -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> <51929D85 dot 10508 at redhat dot com> <CAHiC6b2rqiBjgVtMEo92sNQy0-AeEQxW8SY0WV38FnfqdAXgdA at mail dot gmail dot com>
On 05/14/2013 01:35 PM, Thiago Manel wrote:
> I will try upgrading to a newer stap, thanks Josh.
>
> ... and, to finish this debug session I spotted a compiling problem (by
> 'kernel.trace("sched_switch")' --poison-cache --vp 09), see below
>
[...]
> /tmp/stapAJ6lCC/tracequery_kmod_20/tracequery_kmod_20.c:23:30: fatal
> error: fs/xfs/xfs_types.h: No such file or directory
Hmm, ok, the fact that this got up to kmod_20 means I was remembering
incorrectly. We used to *try* all headers together, but then we did
fall back to testing them individually.
> Maybe I'm adding some noise but digging the commit history I saw this
> (http://git.stealer.net/?p=systemtap.git;a=commitdiff;h=88637c31488f4987cc63c3f71263917dd98ca9cf)
> --- which has the following description
>
> "Including xfs_types.h unconditionally on installations with no kernel
> debuginfo would cause normal tracepoint processing to fail too.
> * tapsets.cxx (tracepoint_extra_decls): Include xfs_types.h
> only if we know the kernel source tree."
Yes this commit looks related, but it's old enough that you should have
it. (git describe --contains 88637c3 -> release-1.4~119)
I think the one you need is commit 50b72692 (release-1.7~151^2~105).
That limited the xfs_types.h hack to only tracepoint headers with "xfs"
in their name.
Also, the option for the source tree did show up in your command line as
"-I/build/buildd/linux-3.2.0/debian/build/build-generic". I guess you
don't actually have "fs/xfs/xfs_types.h" in that path? Do you even have
/build/buildd/... at all? This may be tracepoint_builder::init_dw too
eager to trust DW_AT_comp_dir...