From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753605AbcESCAv (ORCPT ); Wed, 18 May 2016 22:00:51 -0400 Received: from mail.kernel.org ([198.145.29.136]:51323 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751407AbcESCAu (ORCPT ); Wed, 18 May 2016 22:00:50 -0400 Date: Thu, 19 May 2016 11:00:39 +0900 From: Masami Hiramatsu To: Arnaldo Carvalho de Melo Cc: David Ahern , Jiri Olsa , Namhyung Kim , Linux Kernel Mailing List Subject: Re: perf probe -L on ubuntu 16.04 Message-Id: <20160519110039.db4a875677247fa53a17f919@kernel.org> In-Reply-To: <20160517015636.GC3455@kernel.org> References: <20160517015636.GC3455@kernel.org> X-Mailer: Sylpheed 3.4.3 (GTK+ 2.24.28; x86_64-redhat-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 Mon, 16 May 2016 22:56:36 -0300 Arnaldo Carvalho de Melo wrote: > Hi Masami, > > Have you ever tried using 'perf probe' on ubuntu? > > acme@ubuntu:~/git/linux$ sudo apt-cache search linux-image-$(uname -r) > linux-image-4.4.0-21-generic - Linux kernel image for version 4.4.0 on > 64 bit x86 SMP > linux-image-4.4.0-21-generic-dbgsym - Linux kernel debug image for > version 4.4.0 on 64 bit x86 SMP > acme@ubuntu:~/git/linux$ > acme@ubuntu:~/git/linux$ > > So those are installed, but then I try: > > > root@ubuntu:~# perf probe -vvv -L getname_flags > Looking at the vmlinux_path (8 entries long) > Using /usr/lib/debug/boot/vmlinux-4.4.0-21-generic for symbols > Open Debuginfo file: /usr/lib/debug/boot/vmlinux-4.4.0-21-generic > fname: /build/linux-Ay7j_C/linux-4.4.0/fs/namei.c, lineno:125 > New line range: 125 to 2147483647 > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > Get 3665 lines from this CU > path: /build/linux-Ay7j_C/linux-4.4.0/fs/namei.c > Failed to find source file path. > Error: Failed to show lines. Reason: No such file or directory (Code: -2) > root@ubuntu:~# > > Couldn't find the source code files, which is the case: > > acme@ubuntu:~/git/linux$ dpkg -L linux-image-$(uname -r)-dbgsym | grep > '\.c' > acme@ubuntu:~/git/linux$ dpkg -L linux-image-$(uname -r)-dbgsym | grep > '\.ko' | tail -2 > /usr/lib/debug/lib/modules/4.4.0-21-generic/kernel/crypto/pcbc.ko > /usr/lib/debug/lib/modules/4.4.0-21-generic/kernel/crypto/crc32.ko > acme@ubuntu:~/git/linux$ > > Have to dig deeper to see where the source code is, ideas? It shows the "path" is ; > path: /build/linux-Ay7j_C/linux-4.4.0/fs/namei.c So, would you have the source code under this temporary directory? (yeah, I guess No) Anyway, ubuntu has "linux-source" package, or apt source linux-image-`uname -r` will give you the source tree in current dir. After you get a proper kernel source code, you can use -s to show source code. -s, --source path to kernel source I ensured it is working correctly by below command. $ perf probe -s ./linux-4.4.0 -L getname_flags Enjoy! :) -- Masami Hiramatsu