From: Maynard J. <may...@us...> - 2013-12-16 18:14:44
|
On 12/11/2013 12:24 PM, Maynard Johnson wrote: > On 12/10/2013 02:25 PM, Carl E. Love wrote: >> Maynard: >> >> Sorry, the documentation updates seem to have gotten lost on the first patch, not sure >> what happened as I did update the files. I believe I have also addressed all of your other >> comments. Please take a look and see what you think. Thanks. > Patch committed, with one small wording change in oprofile.xml (user manual). Thanks much! > > -Maynard Carl, I'm sorry to say, but this patch causes two regressions: 1) Segmentation fault when running 'opreport --symbols --debug-info'. 2) On my laptop, I'm seeing incorrect callgraph output when running 'opreport --callgraph' after collecting a callgraph profile with 'operf --callgraph': ------------------------------------------------------------------------------- 6976 50.0000 memcpyt do_my_memcpy 6976 50.0000 memcpyt main 6976 6.2696 memcpyt do_my_memcpy 6976 49.9678 memcpyt do_my_memcpy 6976 49.9678 memcpyt do_my_memcpy [self] 9 0.0645 kallsyms /proc/kallsyms -------------- Note the last entry -- the symbol name is "/proc/kallsyms". If I run operf with "--vmlinux" and pass a real vmlinux file, the callgraph entry for "do_my_memcpy" shows up as follows: ------------------------------------------------------------------------------- 7006 50.0000 memcpyt do_my_memcpy 7006 50.0000 memcpyt main 7006 6.3038 memcpyt do_my_memcpy 7006 49.9643 memcpyt do_my_memcpy 7006 49.9643 memcpyt do_my_memcpy [self] 8 0.0571 vmlinux apic_timer_interrupt 2 0.0143 vmlinux retint_careful -------------- I'm sorry I didn't spot these issues sooner. Can you please take a look? Thanks! -Maynard >> >> Carl Love >> -------------------------------------------------------------------------------------------- >> >> Add support for getting the Kernel symbols from /proc/kallsysm >> >> This patch reads the /proc/kallsyms file to get the kernel symbols >> if the user hasn't specified a vmlinux file. >> >> Signed-off-by: Carl Love <ca...@us...> >> --- >> doc/operf.1.in | 8 +++- >> doc/oprofile.xml | 8 ++- >> libperf_events/operf_utils.cpp | 32 +++++++++-- >> libpp/op_header.cpp | 8 +++ >> libpp/populate.cpp | 22 ++++++-- >> libutil++/op_bfd.cpp | 116 ++++++++++++++++++++++++++++++++++++++++ >> libutil++/op_bfd.h | 10 ++++ >> libutil++/utility.h | 2 + >> pe_profiling/operf.cpp | 112 +++++++++++++++++++++++++++++++++++++- >> 9 files changed, 303 insertions(+), 15 deletions(-) >> > [snip] |