Received: by 10.223.176.5 with SMTP id f5csp4344485wra; Tue, 30 Jan 2018 06:02:29 -0800 (PST) X-Google-Smtp-Source: AH8x227vszSwXcmfjBb1nwHKlc/quIFIwMr4JAWMZvjCgAuNgZcnsFSiVRRVuNf9OvqMoce1HwMK X-Received: by 2002:a17:902:b43:: with SMTP id 61-v6mr25668200plq.127.1517320949091; Tue, 30 Jan 2018 06:02:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517320949; cv=none; d=google.com; s=arc-20160816; b=oQ9jb0VrYW0nBArDJu8QjLNzA3k2KWailIzoVY080+VDPmXl2a1Z8VVrDJpfe8/YH1 bFBpNRTwAFZV0hZgg2QjcrNVOQLoFygJHFxXRhWmoP8qxiGmxQ8r5SwX1beW+sGcPMG8 x7Hpa8ioaUGm1YgFFS1QCxvIBDO5+sWK67EunTctsqb8NzockyNoMP2pxmZ8N/U8ur0o iejcSMWzTHbSg/uwQl8PcWKGFqLvkjhLE3P8aArnxUp1qyD2cdFOh1ogkzbCNKVG+i3V JCauqAeGpTz69GPHpPBd5kwgdzWAhE16i38YeQQWtHBegDhMPlYK2UZp5LN/P2jJQl77 M17A== 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=R/d58i5RS+f/3HPzgSUuAfTVaWHjMdUaZMFnLnJWb5E=; b=y0r7k/j0fH4kjAxMAmB6yl/x3Q8brTcm03Be3F3k/OXsnG/uZL10HzGluWpG8uoqEm vk7qQiGziY6VW+K/CwxYoKw27yvKbeLwYotWAResyFsuN1SLH5BHJiHvfVgqlYhesxG6 SxW+V9Fga8z6/hEChivZjXjY/ZMQqJkFOdEZfL5wlIPZ1i1Z5S6ti1oBZFwPiubeMLKY EoMMYJHrllDfHF3NYawJcAgtLoxo0H65y/xNXjXWVd6bG18jMLbt5JPATs5bzmObmoVC pqwuhsw2wgQIBAW842XN9TiOSi355dHedb44yhRvkJm5IhyDReKxRy0MvHy8PdjM/WeM mcuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=D7hgkiIr; 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 91-v6si2422297plh.570.2018.01.30.06.02.14; Tue, 30 Jan 2018 06:02:29 -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=D7hgkiIr; 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 S1752578AbeA3Nuj (ORCPT + 99 others); Tue, 30 Jan 2018 08:50:39 -0500 Received: from mail-ua0-f194.google.com ([209.85.217.194]:46096 "EHLO mail-ua0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752066AbeA3Nuh (ORCPT ); Tue, 30 Jan 2018 08:50:37 -0500 Received: by mail-ua0-f194.google.com with SMTP id j23so7068480uak.13 for ; Tue, 30 Jan 2018 05:50:37 -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=R/d58i5RS+f/3HPzgSUuAfTVaWHjMdUaZMFnLnJWb5E=; b=D7hgkiIrRi7ycY3wLpTwLNK7DsICk13GvWlhUlWKP29fnDn4qy8TRO+wbDRRtLTE0h GSBjcxx2pSp15D5g3bMUXRJvl2MFG5K35Jposqi/YgiMOQZ8s5LpMElYGFu96lZ4pwKs g7KR0MHB9Fl6njNGd+l1a/BJTyWR88BzNK8Lj72dKmafVtpna3xArjOJzwKqSS0YwO0C YrMYKWOCp4FfQVt3ZTcd38Ic1Y/5oQ3WxA4FH8XLG013oNLy/xV585lA/d4GO2exgcdb L+fFNeeBxVtSWEO4+l9TCtu1BoqAmR7n1SlbxF6P78tBoREW/03WaF9CHQdy1I/2vAao MC3A== 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=R/d58i5RS+f/3HPzgSUuAfTVaWHjMdUaZMFnLnJWb5E=; b=nYnFs/1nS0cGM+2GlVeHNX+NfZNYIWo3egUMeOg/Q0i34hiWKDKVNLK1ytUarM5O/T Up2jMMl0HaRgK3dYYjxW2Ltq+VyQKpeGPkMVi8kBwclQRTWFqotzMT41jgpWtguIEinv ttPOKlRLHRiq3INPE6yES2XEd25Io3tL6mUKLyOMDYFeoDbBfUpT8B4NbFKFojrXdIj3 QSngCEUpcujf+kWjoN51slDJ+KjRWM68XUxKQvJfVnB4W/NQOHesZ0vhCJKm3739UOhp BA4St9A7OQiIZoR+OJ+SBFIOFIx2onrDOxlJy1UqUpykdeD4TDaFD2Nbu6nAxWb9Blrp i5bg== X-Gm-Message-State: AKwxytdT43+zF3vkU6qVWfWRmcFeIYH9KaSclsTr9yUKiXBHxUN9aOmw 26TkP2X+7nFUJeJ/FfWkcXY3u2FCrLg/CXS1Jms= X-Received: by 10.176.0.194 with SMTP id 60mr23807522uaj.33.1517320236663; Tue, 30 Jan 2018 05:50:36 -0800 (PST) MIME-Version: 1.0 Received: by 10.103.85.216 with HTTP; Tue, 30 Jan 2018 05:50:36 -0800 (PST) In-Reply-To: <20180130144346.86307346478928ca872473b5@kernel.org> References: <20180129231723.524a8c32e1456358f7cb88ce@kernel.org> <20180130144346.86307346478928ca872473b5@kernel.org> From: Pintu Kumar Date: Tue, 30 Jan 2018 19:20:36 +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 On Tue, Jan 30, 2018 at 11:13 AM, Masami Hiramatsu wrote: > > On Mon, 29 Jan 2018 22:00:52 +0530 > Pintu Kumar wrote: > > > 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. > > What I thought was that your kernel enables kptr_strict(but maybe not.) > Can you also try to find "schedule" and "_etext" functions in > /proc/kallsyms? > Yes these functions are present in kallsyms. # cat /proc/kallsyms | grep -w schedule ; cat /proc/kallsyms | grep -w _etext ffffffff829328e0 T schedule ffffffff8293e751 T _etext > > I still needs to figure out, in which condition it works and which > > condition it fails. > > Yeah, it is important. > > > Usually I noticed that in fresh reboot case it works. > > So, after a while, it doesn't work again? If so, it sounds like a daemon > process changes settings in background. > Fortunately or unfortunately, now it is passing every time. Still not sure about the cause. If it fails again, I will collect info with -v and report again. Any specific info that I need to check when it fails ? Thank You, Pintu > Thank you, > > > > > > > > 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 > > > -- > Masami Hiramatsu