Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp3831554ybf; Tue, 3 Mar 2020 13:45:52 -0800 (PST) X-Google-Smtp-Source: ADFU+vscFhu7sGbNvUSeJTWgzeyOQiTUcQ9SNeFAOd1LFMhvTWPME2r8PeV4mdw97CjEI8YW6urw X-Received: by 2002:a9d:2f05:: with SMTP id h5mr5030072otb.316.1583271952115; Tue, 03 Mar 2020 13:45:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583271952; cv=none; d=google.com; s=arc-20160816; b=Jz15/6/qwRfCmb0biudJ3laXoWj38sbWFoKWkjVjFmYStThXy7sZdBkL8O5Dij/oWJ 4cA4U0Vviufdm4wznynGKY8d9jCbAOnan/Mhu6NztAPwY6jqxMItUPQXju7n4EQVNQWl wqEohQxGrM+K396l661ZiVPHXmggWbvcLBjKuQttaXJP2hOdbxUrwHdDflfOLrFurUmD NrEZObMAtDo8e6Q8lklAOTgogiLl6CogtJWAuTvjD1KB7nHp5zd7hiRD4KezdcLfQ5Yu 2iv0pF4zFS8ZaPGbMFr7+Irh2ibCvQg/5k8f2Zj/48oUoxuCJjt3Z/skKQkCtSy0gcxR wyYA== 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:date:subject:cc:to:from :dkim-signature; bh=bjQoNWzvufcd3z0zTr/JCWTxCQHfrLnSpWvphh42RKw=; b=Y9q5+8X9orMWocDzrBjhMKG8OeXXzRbWHToX4K43usVOOLVOt6nxZEFjRkdUEm74gh b1CFQ2zlhfUdypvCbwfxL5kxAHz/Ea1XxMBzHZhzqWmo4+aNLLZpgUfbE1cOyGJE3Z6F FXDQ/BdsPXlj/StovZytzwooQmKHHqnqwhHHdKlw4+m4B/lhnqIpd381r3xEjaww1wbq Kn++IYos3EAIAf513E8DGQ+iNgSk40Rba/2W1eCbX6xWU7ZMEQQECa3yx5Z+q6rW5x9U 206xoeVIneGCf4plUMUe65d1s89qnb+r5L0dP2rXHHMfkjnf6LwnubCTMWv52JDGfBSq OVOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=L3mKERxx; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r13si3694413otq.279.2020.03.03.13.45.40; Tue, 03 Mar 2020 13:45:52 -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=@kernel.org header.s=default header.b=L3mKERxx; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731443AbgCCTsv (ORCPT + 99 others); Tue, 3 Mar 2020 14:48:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:58002 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729609AbgCCTsu (ORCPT ); Tue, 3 Mar 2020 14:48:50 -0500 Received: from quaco.ghostprotocols.net (unknown [179.97.37.151]) (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 545B821556; Tue, 3 Mar 2020 19:48:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583264929; bh=BY9+Zp5BXszJew6adZ55ehy4GPcyXxYtYJnWnwXUF9A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L3mKERxxxndZbknY8/BMULxGy0GMnc+NGBfr3Q2cqiL3NvuyLpQiYKW/Te+qM8Vgd AUJRtxrU6YtbDSLSbjsLJlOFVVO7PvKG37vf1kNQ03iY5WaZwZuG+J+UbFGMgR4j5P P9gsXr5rf6YeuSlpGbrXF5HdeD24uzjW/cSoKG90= From: Arnaldo Carvalho de Melo To: Ingo Molnar , Thomas Gleixner Cc: Jiri Olsa , Namhyung Kim , Clark Williams , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Arnaldo Carvalho de Melo , Jiri Olsa , Alexander Shishkin , Kim Phillips , Michael Petlan , Ravi Bangoria Subject: [PATCH 5/5] perf symbols: Don't try to find a vmlinux file when looking for kernel modules Date: Tue, 3 Mar 2020 16:48:27 -0300 Message-Id: <20200303194827.6461-6-acme@kernel.org> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200303194827.6461-1-acme@kernel.org> References: <20200303194827.6461-1-acme@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arnaldo Carvalho de Melo The dso->kernel value is now set to everything that is in machine->kmaps, but that was being used to decide if vmlinux lookup is needed, which ended up making that lookup be made for kernel modules, that now have dso->kernel set, leading to these kinds of warnings when running on a machine with compressed kernel modules, like fedora:31: [root@five ~]# perf record -F 10000 -a sleep 2 [ perf record: Woken up 1 times to write data ] lzma: fopen failed on vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /usr/lib/debug/boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /lib/modules/5.5.5-200.fc31.x86_64/build/vmlinux: 'No such file or directory' lzma: fopen failed on vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /usr/lib/debug/boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /lib/modules/5.5.5-200.fc31.x86_64/build/vmlinux: 'No such file or directory' lzma: fopen failed on vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /usr/lib/debug/boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /lib/modules/5.5.5-200.fc31.x86_64/build/vmlinux: 'No such file or directory' lzma: fopen failed on vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /usr/lib/debug/boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /lib/modules/5.5.5-200.fc31.x86_64/build/vmlinux: 'No such file or directory' lzma: fopen failed on vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux: 'No such file or directory' lzma: fopen failed on /boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /usr/lib/debug/boot/vmlinux-5.5.5-200.fc31.x86_64: 'No such file or directory' lzma: fopen failed on /lib/modules/5.5.5-200.fc31.x86_64/build/vmlinux: 'No such file or directory' [ perf record: Captured and wrote 1.024 MB perf.data (1366 samples) ] [root@five ~]# This happens when collecting the buildid, when we find samples for kernel modules, fix it by checking if the looked up DSO is a kernel module by other means. Fixes: 02213cec64bb ("perf maps: Mark module DSOs with kernel type") Tested-by: Jiri Olsa Acked-by: Jiri Olsa Cc: Alexander Shishkin Cc: Kim Phillips Cc: Michael Petlan Cc: Namhyung Kim Cc: Ravi Bangoria Link: http://lore.kernel.org/lkml/20200302191007.GD10335@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/symbol.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 1077013d8ce2..26bc6a0096ce 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -1622,7 +1622,12 @@ int dso__load(struct dso *dso, struct map *map) goto out; } - if (dso->kernel) { + kmod = dso->symtab_type == DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE || + dso->symtab_type == DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP || + dso->symtab_type == DSO_BINARY_TYPE__GUEST_KMODULE || + dso->symtab_type == DSO_BINARY_TYPE__GUEST_KMODULE_COMP; + + if (dso->kernel && !kmod) { if (dso->kernel == DSO_TYPE_KERNEL) ret = dso__load_kernel_sym(dso, map); else if (dso->kernel == DSO_TYPE_GUEST_KERNEL) @@ -1650,12 +1655,6 @@ int dso__load(struct dso *dso, struct map *map) if (!name) goto out; - kmod = dso->symtab_type == DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE || - dso->symtab_type == DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP || - dso->symtab_type == DSO_BINARY_TYPE__GUEST_KMODULE || - dso->symtab_type == DSO_BINARY_TYPE__GUEST_KMODULE_COMP; - - /* * Read the build id if possible. This is required for * DSO_BINARY_TYPE__BUILDID_DEBUGINFO to work -- 2.21.1