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

Reply via email to