Received: by 10.223.176.5 with SMTP id f5csp2924552wra; Mon, 29 Jan 2018 06:18:06 -0800 (PST) X-Google-Smtp-Source: AH8x227+ZpfBG2Vjs3JBRWWWlqFJaoNDCZKAOZ4FufEzKJBduDl4ckFX9O6wK4c2+8x6iRsk27d1 X-Received: by 10.101.78.207 with SMTP id w15mr22150390pgq.349.1517235486227; Mon, 29 Jan 2018 06:18:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517235486; cv=none; d=google.com; s=arc-20160816; b=fE9C5YqiKfRKDtQhg2WCh2UmzZVMBZHg9RRIyBsptcM96z4FxENtv+jWoNqI6ZUx3d PH+iZDszpYntwD32hfhEJ60eIwba8hYx+PRJESBTnZfv2LMFL+2MPXXkktizAmufNmQi 8gO9+rQ0HbS+3nprOFlkwGewT3vuhCGC2yKj7x6WvEMRS5z9tFsfJ0Nb6lhI94sTIMu4 IQ0nXxXbmBR3hynNuoCSMbl/5kQNEKlIU6TfKwTurk1/+R4s7tJG2L3/0Mx2KRCAgC4y uKXvwYE710C0c208iag4qvGsttQbTUzdsIswOJ8ghFD14wLCAVjfDztIGhmlqhK9Se1K OOmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dmarc-filter:arc-authentication-results; bh=vaxd9+dq+Z/mJovvmE0b4rM2S5+JVKbFi3lMcE0pE1M=; b=d7vOIJe2FAdN2F5CFjj5bP3RwIx34/pX3Uy8hGrK4xurszb1GQceV3vVI4zSrGPLEV Z9AiELpfRJtW9ecTj/C0wNGJCTD/vehT0+WM/nTNg14pkf2CJbV21qJm3ZESk0Fswx2i eMiXuFQKoJ5T6mQme+gGqFhafrwTFM0MZVJUMNwAzgXrszZcaZIDTfob1/3Dfjiy7LSf ANxaVzjXuVPo0fKE+gEbRrnGozs5dyxW2zUbmDWe2YPi8a2ViHYX+c1zyn4l/VZBeMzm DuY7/OuueVf/6GGCfLVniOfdmSv1ro9Cd0j1tBN2QYrRDAtJExQshpr6KMpbhfL+3sFT 1ijw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x3-v6si9402050plo.2.2018.01.29.06.17.51; Mon, 29 Jan 2018 06:18:06 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751704AbeA2OR3 (ORCPT + 99 others); Mon, 29 Jan 2018 09:17:29 -0500 Received: from mail.kernel.org ([198.145.29.99]:54522 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751256AbeA2OR1 (ORCPT ); Mon, 29 Jan 2018 09:17:27 -0500 Received: from devbox (NE2965lan1.rev.em-net.ne.jp [210.141.244.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 37737214DA; Mon, 29 Jan 2018 14:17:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 37737214DA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=mhiramat@kernel.org Date: Mon, 29 Jan 2018 23:17:23 +0900 From: Masami Hiramatsu To: Pintu Kumar Cc: "Wangnan (F)" , linux-kernel@vger.kernel.org, acme@redhat.com, mhiramat@kernel.org, quentin.monnet@netronome.com, daniel@iogearbox.net, davem@davemloft.net, alexander.shishkin@linux.intel.com, mingo@redhat.com, huawei.libin@huawei.com, alexis.berlemont@gmail.com, maddy@linux.vnet.ibm.com, naveen.n.rao@linux.vnet.ibm.com, peterz@infradead.org, kernelnewbies@kernelnewbies.org Subject: Re: [perf] perf probe fails sometimes on 4.9 Message-Id: <20180129231723.524a8c32e1456358f7cb88ce@kernel.org> In-Reply-To: References: X-Mailer: Sylpheed 3.5.1 (GTK+ 2.24.31; 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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? > > 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. > 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? 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