From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755998AbcHDI5E (ORCPT ); Thu, 4 Aug 2016 04:57:04 -0400 Received: from mail.kernel.org ([198.145.29.136]:42614 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753049AbcHDI5A (ORCPT ); Thu, 4 Aug 2016 04:57:00 -0400 Date: Thu, 4 Aug 2016 17:47:22 +0900 From: Masami Hiramatsu To: "Wangnan (F)" Cc: Arnaldo Carvalho de Melo , Linux Kernel Mailing List Subject: Re: perf test BPF failing on f24: fix Message-Id: <20160804174722.de83c5396b4bfd5a77dbd3e3@kernel.org> In-Reply-To: <57A29F61.5050702@huawei.com> References: <20160802195102.GD14639@kernel.org> <57A1A913.6000307@huawei.com> <20160803234557.29f43f755b7e14c634a54a9a@kernel.org> <20160804080800.a056b02044c1e749bac02cbe@kernel.org> <57A29F61.5050702@huawei.com> X-Mailer: Sylpheed 3.5.0 (GTK+ 2.24.30; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 4 Aug 2016 09:50:25 +0800 "Wangnan (F)" wrote: > > > On 2016/8/4 7:08, Masami Hiramatsu wrote: > > On Wed, 3 Aug 2016 23:45:57 +0900 > > Masami Hiramatsu wrote: > > > >>>> [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. > >> So, at least I should investigate it. > > FYI, on ubuntu16.04, I can put probes on sys_epoll_wait as below > > > > mhiramat@devnote:~/ksrc/linux/tools/perf$ sudo ./perf probe -vnf 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 /usr/lib/debug/boot/vmlinux-4.4.0-31-generic for symbols > > Open Debuginfo file: /usr/lib/debug/boot/vmlinux-4.4.0-31-generic > > Try to find probe point from debuginfo. > > Symbol sys_epoll_wait address found : ffffffff81257410 > > Matched function: SyS_epoll_wait > > found inline addr: 0xffffffff81257410 > > Probe point found: SyS_epoll_wait+0 > > found inline addr: 0xffffffff8125756d > > Probe point found: SyS_epoll_pwait+141 > > found inline addr: 0xffffffff81257793 > > Probe point found: compat_SyS_epoll_pwait+147 > > Found 3 probe_trace_events. > > Opening /sys/kernel/debug/tracing//kprobe_events write=1 > > Writing event: p:probe/sys_epoll_wait _text+2454544 > > Writing event: p:probe/sys_epoll_wait_1 _text+2454893 > > Writing event: p:probe/sys_epoll_wait_2 _text+2455443 > > 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 > > > > > Have you checked 'readelf -wi'? I guess you wouldn't find > sys_epoll_wait. Yes, my understandig is that the sys_* functions (alias) are generated by linker, so debuginfo doesn't know about it. As the above log said, perf-probe(and bpf too) tries to find symbol in kallsyms and find the corresponding debuginfo entry(DIE) and find the probe point again in debuginfo. Thank you, -- Masami Hiramatsu