This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: do_mmap fails to work on RHEL5.1GA
- From: fche at redhat dot com (Frank Ch. Eigler)
- To: baiwd <baiwd at cn dot fujitsu dot com>
- Cc: systemtap at sourceware dot org
- Date: Mon, 17 Dec 2007 22:28:25 -0500
- Subject: Re: do_mmap fails to work on RHEL5.1GA
- References: <47671B7F.6060206@cn.fujitsu.com>
baiwd <baiwd@cn.fujitsu.com> writes:
> When I test with the newest stp on RHEL5.1GA, I found that probe for
> do_mmap in memory.stp cannot work correctly. [...]
Thanks for testing!
> ERROR: probe kernel.function("do_mmap@include/linux/mm.h:1001")
> registration error (rc -22)
This means that systemtap got addresses it thought plausible, but the
kernel refused to actually insert a probe there. I wonder if this is
the latent systemtap bug awakened by elfutils 0.131.
> By looking through the elf file of linux kernel debug and the source
> codes, I think do_mmap and do_mmap2 are inlined functions [...]
That by itself is not a problem. We can often find reasonable probing
addresses for inlined functions. (Not being able to get at their
parameters is a whole different (gcc) problem.)
> So I wondered whether memory.stp can be changed as following:
> [...]
> -probe vm.mmap = kernel.function("do_mmap"), kernel.function("do_mmap2")? {
> +probe vm.mmap = kernel.function("do_mmap_pgoff") {
This would be a good candidate for the recently added optional/sufficient flag:
probe vm.mmap = kernel.function("do_mmap")!,
kernel.function("do_mmap_pgoff")!,
kernel.function("do_mmap2") { ... }
- FChE