lkml.org 
[lkml]   [2016]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: perf test BPF failing on f24: fix
    From
    Date


    On 2016/8/3 10:41, Wangnan (F) wrote:
    >
    >
    > On 2016/8/3 3:51, Arnaldo Carvalho de Melo wrote:
    >> Hi Wang,
    >>
    >> Something changed and a function used in a perf test for BPF is
    >> not anymore appearing on vmlinux, albeit still available on
    >> /proc/kallsyms:
    >>
    >> # readelf -wi /lib/modules/4.7.0+/build/vmlinux | grep -w sys_epoll_wait
    >> #
    >>
    >> But:
    >>
    >> [root@jouet ~]# grep -i sys_epoll_wait /proc/kallsyms
    >> ffffffffbd295b50 T SyS_epoll_wait
    >> ffffffffbd295b50 T sys_epoll_wait
    >> [root@jouet ~]#
    >>
    >> I noticed that it is some sort of aliasing so I checked the other
    >> variant:
    >>
    >> [root@jouet ~]# readelf -wi /lib/modules/4.7.0+/build/vmlinux | grep
    >> -w SyS_epoll_wait
    >> <2bc9b85> DW_AT_name : (indirect string, offset:
    >> 0xe7524): SyS_epoll_wait
    >> [root@jouet ~]#
    >
    > I also see no sys_epoll_wait in output of 'readelf -wi', but I can't
    > reproduce the whole problem.
    >
    >> Trying to use perf probe also produces the same resuls I notice when
    >> running the perf test that is failing:
    >>
    >> [root@jouet ~]# perf probe sys_epoll_wait
    >> Failed to find debug information for address ffffffffbd295b50
    >> Probe point 'sys_epoll_wait' not found.
    >> Error: Failed to add events.
    >
    > For me:
    >
    > # uname -r
    > 4.7.0
    >
    > # perf probe -v sys_epoll_wait
    > probe-definition(0): sys_epoll_wait
    > symbol:sys_epoll_wait file:(null) line:0 offset:0 return:0 lazy:(null)
    > 0 arguments
    > Looking at the vmlinux_path (8 entries long)
    > Using /lib/modules/4.7.0/build/vmlinux for symbols
    > Open Debuginfo file: /lib/modules/4.7.0/build/vmlinux
    > Try to find probe point from debuginfo.
    > Symbol sys_epoll_wait address found : ffffffff81281240
    > Matched function: SyS_epoll_wait
    > found inline addr: 0xffffffff81281240
    > Probe point found: SyS_epoll_wait+0
    > found inline addr: 0xffffffff812813a7
    > Probe point found: SyS_epoll_pwait+135
    > found inline addr: 0xffffffff8128157a
    > Probe point found: compat_SyS_epoll_pwait+154
    > Found 3 probe_trace_events.
    > Opening /sys/kernel/debug/tracing//kprobe_events write=1
    > Writing event: p:probe/sys_epoll_wait _text+2626112
    > Writing event: p:probe/sys_epoll_wait_1 _text+2626471
    > Writing event: p:probe/sys_epoll_wait_2 _text+2626938
    > Added new events:
    > probe:sys_epoll_wait (on sys_epoll_wait)
    > probe:sys_epoll_wait_1 (on sys_epoll_wait)
    > probe:sys_epoll_wait_2 (on sys_epoll_wait)
    >
    > You can now use it in all perf tools, such as:
    >
    > perf record -e probe:sys_epoll_wait_2 -aR sleep 1
    >
    >
    > I'll try different kernel version and kconfig.
    >

    Still unable reproduce. I tried tip/core/core, which is '4.7.0+'.
    I also turns off CONFIG_DEBUG_INFO. In this case, testcase
    BPF prologue fails as expected, and basic BPF test is okay.

    After removing vmlinux, with kallsyms information
    'perf probe sys_epoll_wait' sets only 1 kprobe, but it still
    works.

    I think there is a bug in your vmlinux. Could you please
    do a bisect to find which commit causes this problem?

    Thank you.

    \
     
     \ /
      Last update: 2016-08-03 06:21    [W:5.822 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site