Received: by 10.223.176.5 with SMTP id f5csp3084346wra; Mon, 29 Jan 2018 08:32:07 -0800 (PST) X-Google-Smtp-Source: AH8x227LU4eHMVPrksjWDn126jvqMsYB36MLrX/wmJFqriKE+vAXVUp7ijMOUnAx+P+qOfq7K5Pz X-Received: by 10.101.96.3 with SMTP id m3mr21667869pgu.409.1517243527865; Mon, 29 Jan 2018 08:32:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517243527; cv=none; d=google.com; s=arc-20160816; b=jANS+V2pbZxax2EbBXjrkHk5xTQHtpUBrWuKYreyMu8q1A+iROMpn8jn7TbVxIfkpY +RzNdAxn8JNbcZtn8xPt6IgIqxLIPKVeoRpaj78S/uBVgUuX4a1vUMYds8BgYesGoIZU +aotxkC6xCTAq9Wr7aLq+gJnXDQRSWCwExqGpHj17d6CBLLFH4FGakyunDqqQyJ8NuG1 QSRpxuoVGxjwCv7tnRLSTSFFeRVcIEwegedFMo+ULKbvySnsbTw/PE8Q2WqTaQZ/7Sly PlKRrmcZon6eAw9sgwIuiR0YNtKaTvA0Q1r1O44aY/I17oMBqU+YMx/9wRHBU2vW7EOv 7O2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=CouxWUo8IW1EOBUGM7phbIk1c94nkQ8rBNjttHf9h/w=; b=ESJ05y0nHSbqwTMObfP4el7NxW2KsMO1F3A5ZQp3Fln4JuDbeyuJKtVa+PGJuDB6my /oC/oO6GcY5btwx75igfljfaWw/yVsMQJl3zW6nJWErHy5jKp319jiGeQaHy8X8fD5/M 1xbljx5xktJP4pAm6A75PgyCgavUi6FWZQG8p2RULGhFAi8hP2gA758fkHAPCdbNT1ip mH9KJWuJL/we9ucw80iZ0t8jlkUA120yydUir5qoEc1GJrVbGTYWPNIuf4K9zRKgAygR /JtMxQ2s5gc9G7HK8WsplU5GacRZrXk9jW8OGWxvjE9cKVO8j9tgu0N1bs9nPux/0Bq+ SkHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lCm3+3a0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 61-v6si9716410plr.132.2018.01.29.08.31.53; Mon, 29 Jan 2018 08:32:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lCm3+3a0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751508AbeA2Qaz (ORCPT + 99 others); Mon, 29 Jan 2018 11:30:55 -0500 Received: from mail-ua0-f196.google.com ([209.85.217.196]:39738 "EHLO mail-ua0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751072AbeA2Qax (ORCPT ); Mon, 29 Jan 2018 11:30:53 -0500 Received: by mail-ua0-f196.google.com with SMTP id e18so5063889ual.6 for ; Mon, 29 Jan 2018 08:30:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=CouxWUo8IW1EOBUGM7phbIk1c94nkQ8rBNjttHf9h/w=; b=lCm3+3a0iVy6YcBWst7NsGkybiSUkGVLmUOvy93DopzOS5cP9DZ5z0Li2gf6vZMxkx H0r06sAF3jK7YNs+QUr44met8IKg206L0NLeru20PjpD5f0zYHbHyg35yMEcswcobZe9 5iyprQUZ5qMfpSF70KOfRcalbLBoOq+Tgb60BADS/RutLylwrz5+Mozo+NupemADDrrr ZsJCsVRcKA1uOIRMvPj0X9/3uMkD1l2+cbnyuLsklKPK15Y0FzNpAFHxaPuThxs7BA9+ tvHC56O8Ez4mjnG8PkTeFsAAzjs4p8wBeFPTjudpsNPakt0VtHcNiN+U9FObHWBMLJct ZJ2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=CouxWUo8IW1EOBUGM7phbIk1c94nkQ8rBNjttHf9h/w=; b=CfnTKpwnhFCQubQ+deVaW3Vz7edkEtWZ0BcuKwudxDLnUqUaKVnVsO/+8aURSRMJiZ sV9Z8yvmp9Z7IzzQmzHzScmSLcH9hXozCr6fSa1M5DXfw2Qx75vvFGTDJK5eqO5DxoCf OMYK5fjWiuMdbetlIPvctuyzS3ebKnc2eGz766RlGsdjUpqxNWR6Q2hDXnYpcZ75YIM/ KxwVNPx7Tga/Lmlg7P/WXBeYgImv09KbAKuMUC2r+v4KqBgTIMb2WpyYhN0KQS3Xrr/T 4GUJk8hel4EgB3+yGzP4ExOZ99Bmrn0vdgZYz87eGuGbSaiU/pp8GYK8gf3GFPfVnmbg 4hEw== X-Gm-Message-State: AKwxytdImh9oHbrt5xf1iWnVbGILhhgGpOxTewGkaYTVWkfOkoLV1qMD 3I/rZxCcCee+2NUGMkVbRSnC1OP6xHg0LK4ECXA= X-Received: by 10.176.23.85 with SMTP id k21mr18659672uaf.38.1517243452473; Mon, 29 Jan 2018 08:30:52 -0800 (PST) MIME-Version: 1.0 Received: by 10.103.85.216 with HTTP; Mon, 29 Jan 2018 08:30:52 -0800 (PST) In-Reply-To: <20180129231723.524a8c32e1456358f7cb88ce@kernel.org> References: <20180129231723.524a8c32e1456358f7cb88ce@kernel.org> From: Pintu Kumar Date: Mon, 29 Jan 2018 22:00:52 +0530 Message-ID: Subject: Re: [perf] perf probe fails sometimes on 4.9 To: Masami Hiramatsu Cc: "Wangnan (F)" , linux-kernel@vger.kernel.org, acme@redhat.com, quentin.monnet@netronome.com, daniel@iogearbox.net, davem@davemloft.net, alexander.shishkin@linux.intel.com, mingo@redhat.com, huawei.libin@huawei.com, Alexis Berlemont , maddy@linux.vnet.ibm.com, naveen.n.rao@linux.vnet.ibm.com, peterz@infradead.org, kernelnewbies@kernelnewbies.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Dear Masami, Thank you so much for your reply. Please find some of my answers inline. On Mon, Jan 29, 2018 at 7:47 PM, Masami Hiramatsu wrote: > On Mon, 29 Jan 2018 13:40:34 +0530 > Pintu Kumar wrote: > >> Hi All, >> >> 'perf probe' is failing sometimes on 4.9.20 with AMD-64. >> # perf probe --add schedule >> schedule is out of .text, skip it. >> Error: Failed to add events. >> >> If any one have come across this problem please let me know the cause. > > Hi Pintu, > > Could you run it with --vv? > Ok, I will send verbose output by tomorrow. >> >> Note: I don't have CONFIG_DEBUG_INFO enabled in kernel. Is this the problem? > > Without it, you can not probe source-level probe nor trace local variable. > Currently I am facing problem in enabling DEBUG_INFO in our kernel 4.9.20 However, I will try to manually include "-g" option during compilation. >> However, I manually copied the vmlinux file to /boot/ directory, but >> still it does not work. > > That doesn't work. > CONFIG_DEBUG_INFO option enables gcc to compile kernel with extra debuginfo. > Without that option, debuginfo is not generated with vmlinux. > >> >> I checked upstream patches until 4.15 but could not find any clue. >> Please let me know if there is any fixes available for this. > > Could you also ensure that you run perf by root user? > Yes I am running with root user. My concern is sometimes it works but sometimes it fails. I still needs to figure out, in which condition it works and which condition it fails. Usually I noticed that in fresh reboot case it works. > Thank you, > > >> >> >> Thank You! >> Regards, >> Pintu >> >> >> On Thu, Jan 25, 2018 at 7:09 PM, Pintu Kumar wrote: >> > Hi, >> > >> > ** Changed the subject now, since these issues are related to general >> > perf commands. >> > >> > Following are the issues: >> > >> > 1) perf probe --add schedule - FAILED >> > output: >> > schedule is out of .text, skip it. >> > Error: Failed to add events. >> > >> > what is the issue here? >> > Sometimes it pass and sometimes it fails... >> > Similar is the case of 'perf inject' as well. >> > >> > 2) perf test - 1 FAILURE >> > 37.1: Test basic BPF filtering : FAILED! >> > 37.2: Test BPF prologue generation : Skip >> > 37.3: Test BPF relocation checker : Skip >> > >> > bpf: config program 'func=SyS_epoll_wait' >> > symbol:SyS_epoll_wait file:(null) line:0 offset:0 return:0 lazy:(null) >> > bpf: config 'func=SyS_epoll_wait' is ok >> > Looking at the vmlinux_path (8 entries long) >> > Using /boot/vmlinux for symbols >> > Could not open debuginfo. Try to use symbols. >> > SyS_epoll_wait is out of .text, skip it. >> > bpf_probe: failed to convert perf probe eventsFailed to add events >> > selected by BPF >> > test child finished with -1 >> > ---- end ---- >> > Test BPF filter subtest 0: FAILED! >> > >> > Looks like both 1,2 are related. >> > Since, CONFIG_DEBUG_INFO is not enabled, I manually copied the vmlinux >> > to /boot/ folder. >> > >> > ------- >> > Some more info: >> > >> > Kernel build dir is set to /lib/modules/4.9.20-sc-amd-x86-64/build >> > set env: KBUILD_DIR=/lib/modules/4.9.20-sc-amd-x86-64/build >> > unset env: KBUILD_OPTS >> > include option is set to -nostdinc -isystem >> > /usr/lib/gcc/x86_64-linux-gnu/5/include -I./arch/x86/include >> > -I./arch/x86/include/generated/uapi -I./arch/x86/include/generated >> > -I./include -I./arch/x86/include/uapi -I./include/uapi >> > -I./include/generated/uapi -include ./include/linux/kconfig.h >> > set env: NR_CPUS=8 >> > set env: LINUX_VERSION_CODE=0x40914 >> > set env: CLANG_EXEC=/usr/bin/clang >> > set env: CLANG_OPTIONS=-xc >> > set env: KERNEL_INC_OPTIONS= -nostdinc -isystem >> > /usr/lib/gcc/x86_64-linux-gnu/5/include -I./arch/x86/include >> > -I./arch/x86/include/generated/uapi -I./arch/x86/include/generated >> > -I./include -I./arch/x86/include/uapi -I./include/uapi >> > -I./include/generated/uapi -include ./include/linux/kconfig.h >> > set env: WORKING_DIR=/lib/modules/4.9.20-sc-amd-x86-64/build >> > >> > >> > If you have any clue about these failure please help me. >> > >> > >> > Thanks, >> > Pintu >> > >> > >> > On Wed, Jan 24, 2018 at 8:23 PM, Pintu Kumar wrote: >> >> Hi, >> >> >> >> Thanks for your help. >> >> Yes it was a sub version issue. >> >> >> >> Earlier, while building the kernel I left the SUBLEVEL as blank. >> >> >> >> make -j8 bindeb-pkg SUBLEVEL=20 >> >> >> >> After passing the correct sublevel now the test is working. >> >> >> >> But still following are failing: >> >> >> >> 16: Try 'import perf' in python, checking link problems : FAILED! >> >> 37.2: Test BPF prologue generation : FAILED! >> >> >> >> >> >> This is the error I get: >> >> >> >> 16: Try 'import perf' in python, checking link problems : >> >> --- start --- >> >> test child forked, pid 7637 >> >> Traceback (most recent call last): >> >> File "", line 1, in >> >> ImportError: No module named perf >> >> test child finished with -1 >> >> ---- end ---- >> >> Try 'import perf' in python, checking link problems: FAILED! >> >> >> >> >> >> Looking at the vmlinux_path (8 entries long) >> >> symsrc__init: cannot get elf header. >> >> Failed to find the path for kernel: Invalid ELF file >> >> bpf_probe: failed to convert perf probe eventsFailed to add events >> >> selected by BPF >> >> test child finished with -1 >> >> ---- end ---- >> >> Test BPF filter subtest 1: FAILED! >> >> >> >> >> >> >> >> Thanks, >> >> Pintu >> >> >> >> >> >> On Wed, Jan 24, 2018 at 6:39 AM, Wangnan (F) wrote: >> >>> >> >>> >> >>> On 2018/1/23 20:37, Pintu Kumar wrote: >> >>>> >> >>>> Hi All, >> >>>> >> >>>> I am verifying all perf tests on Ubuntu-16 x86-64 platform using the >> >>>> kernel version 4.9.20. >> >>>> I have installed several others packages including: clang, llvm >> >>>> >> >>>> But, when I run 'perf test' I get some FAILURE. >> >>>> Specially, 'perf test LLVM' is failing. >> >>>> >> >>>> Please check the below error logs: >> >>>> >> >>>> ---------------------------------------------------- >> >>>> # perf test LLVM >> >>>> 35: Test LLVM searching and compiling : >> >>>> 35.1: Basic BPF llvm compiling test : FAILED! >> >>>> 35.2: Test kbuild searching : Skip >> >>>> 35.3: Compile source for BPF prologue generation test : Skip >> >>>> 35.4: Compile source for BPF relocation test : Skip >> >>>> ---------------------------------------------------- >> >>>> >> >>>> When I run with -v I get this: >> >>>> >> >>>> ----------------------------------------------------- >> >>>> # perf test -v LLVM >> >>>> 35: Test LLVM searching and compiling : >> >>>> 35.1: Basic BPF llvm compiling test : >> >>>> --- start --- >> >>>> test child forked, pid 3304 >> >>>> Unablt to get kernel version from uname '4.9-xxxx-amd-x86-64' >> >>>> WARNING: unable to get correct kernel building directory. >> >>>> Hint: Set correct kbuild directory using 'kbuild-dir' option in [llvm] >> >>>> section of ~/.perfconfig or set it to "" to suppress kbuild >> >>>> detection. >> >>>> >> >>>> Unablt to get kernel version from uname '4.9-xxxx-amd-x86-64' >> >>>> >> >>>> >> >>>> int _version SEC("version") = LINUX_VERSION_CODE; >> >>>> ' | $CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS >> >>>> -DLINUX_VERSION_CODE=$LINUX_VERSION_CODE $CLANG_OPTIONS >> >>>> $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign >> >>>> -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o >> >>>> - >> >>>> libbpf: 2129190-4a0 doesn't provide kernel version >> >>>> Failed to parse test case 'Basic BPF llvm compiling test' >> >>>> test child finished with -1 >> >>>> ---- end ---- >> >>>> Test LLVM searching and compiling subtest 0: FAILED! >> >>>> ----------------------------------------------------- >> >>>> >> >>>> >> >>>> Basic BPF LLVM compiling test is failing. >> >>>> It reports that bpf could not able to read the kernel version from uname. >> >>>> Is it because of this that 'perf test LLVM' is failing ? >> >>>> >> >>>> My uname says: >> >>>> 4.9-xxxx-amd-x86-64 >> >>> >> >>> >> >>> 'perf test LLVM' requires a well formed uname string (%d.%d.%d). Please see >> >>> tools/perf/fetch_kernel_version . If your distro uses another method to >> >>> report >> >>> kernel version number (from your uname string, sublevel can't be >> >>> determined), >> >>> please help us improve that function like what we have done for ubuntu >> >>> (checking /proc/version_signature). >> >>> >> >>> >> >>> >> >>>> My kernel version is: 4.9.20 (from Makefile) >> >>>> >> >>>> So, I dont think there is any problem with kernel version. >> >>>> >> >>>> If any body have come across this problem please let me know how to >> >>>> resolve this issue. >> >>>> >> >>>> >> >>>> >> >>>> Thank You! >> >>>> >> >>>> Regards, >> >>>> Pintu >> >>> >> >>> >> >>> > > > -- > Masami Hiramatsu