I'm running on 2.6.37.1-1.2, using the following rpm's to build tools/perf:
(OpenSUSE 11.4)
elfutils-devel-0.149-1.x86_64.rpm
elfutils-libs-0.149-1.x86_64.rpm
elfutils-libelf-0.149-1.x86_64.rpm
elfutils-libelf-devel-0.149-1.x86_64.rpm
xz-libs-4.999.9-0.2.beta.20100401git.x86_64.rpm
I' using my own scsi driver - my-driver.
I do:
# perf record -fg fio my_fio_script
# perf annotate -l -k /usr/src/linux/vmlinux -s __lock_acquire
I'm getting:
[my_scsi_driver] with build id bee3bbdcaacc61223b70db093de47efffa26dbc9 not
found, continuing without symbols
I see annotated __lock_acquire but if I run:
# perf annotate -l -k /my_driver_path/my_driver.ko -s my_function
I'm getting:
[kernel.kallsyms] with build id 08ba9c1ec15cb50d359428cacb0b490dee51e1a5 not
found, continuing without symbols Segmentation fault
However, when doing:
# cat /proc/kallsyms|grep my_function
I'm getting:
ffffffffa0606b90 t my_function [my_driver]
I also built & ran perf code copied from kernel version 2.6.38 (had to disable
"attr->sample_id_all" field usage in builtin-record.c & util/header.c to build
on 2.6.37 as, unfortunatelly my_driver doesn't work on 2.6.38) with the same
results.
When doing:
# perf report --verbose --dso='[my_driver]'
I see:
+ 85.05% fio 0x368f6 K [k] 0x368f6
+ 14.95% fio 0x7fffb9fff614 ! [.] 0x7fffb9fff614
Expanding any of these two, I'm getting many '+' prefixed hex addresses
instead of function names (kernel entry names) and I don't see any of the
driver's api.
If I select to expand/zoom-in an api that doesn't have '+' and select "Zoom
into fio DSO" it "Segmentation fault"
What can I do to annotate/resolve symbols for my_functions?
thanks,
John
--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html