Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp21625183ybl; Mon, 6 Jan 2020 08:10:40 -0800 (PST) X-Google-Smtp-Source: APXvYqz1uXRUgkgpHci72zspoMGZonfXDSqJz/E1DlfEkqbu+ceE8ozVWUhtWTelVZzKAXyl9MF0 X-Received: by 2002:a05:6830:194:: with SMTP id q20mr120693334ota.92.1578327040723; Mon, 06 Jan 2020 08:10:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578327040; cv=none; d=google.com; s=arc-20160816; b=rSVQQ+1SwJQ936Z9f9zvQdX+ajQIOMq6athZJ0W8nmCskix0Is6WYTXjBrJYrMUQ8Q XgG9KK5a/7xXG0jB8oUgJ4Wl/S4Tycw6ochPkUrxy99okXlke+r+ww2ddEhS7nxIkM03 iGJBu7MUveSkwkvC9W/BFJtVRv1ddJkF8P+pM6bS5kYUv83IbHiTfXllhM+4/3q9v4VX 7lwreiwuJLt2SVJobkgeqOX2hww548BcffLSVrvOG+vkhQHFy5SFVtl5EVb6EU2IKAwz OVtaEqDbMzrshUaFZzSruXYCK/KpIPgUxHiFwLFvXA7juetNLXkA60pIW0x45HAdXbHF eMFQ== 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=1VEOaz3AfaShwk+52s9G0bPnlydgW3j5J80763rhXz8=; b=Wfl5Slt/8n/BSi0HmJ738/5KRf9XjCjAadmFJZdvmwCY+6v6WlyC+NN4YCDjWtgERL upoq8h1FoNvm3KxRgMYwMjuVrRbVKaF0s75blByMIhIQvgg+j35pB5b6KiVouENRv20F BeAQy8dJOaRCMJC0+xWDnXzidDwjw3NwquYKQSN47WBb5wtkufLkybk1NYVl2yT+B3f/ L8EWyq4TqOz0r3MEResxwuYkSxG8XECwJlWdH/+mV5tZ2iZNzJgtyH/ctEUAN6gVaEUH OH+p4NeSwVHABO+q28DC31LOFrn0x2iGW2W6fVFGXze22XShug5aB8DNeIncLxXRmvGJ nhag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=j6UOAKHB; 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 i6si35672205otp.5.2020.01.06.08.10.27; Mon, 06 Jan 2020 08:10:40 -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=j6UOAKHB; 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 S1727273AbgAFQIX (ORCPT + 99 others); Mon, 6 Jan 2020 11:08:23 -0500 Received: from mail.kernel.org ([198.145.29.99]:47052 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727290AbgAFQIV (ORCPT ); Mon, 6 Jan 2020 11:08:21 -0500 Received: from quaco.ghostprotocols.net (unknown [179.97.35.50]) (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 620672081E; Mon, 6 Jan 2020 16:08:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578326900; bh=gGXyDP7QaDjAhsl8iv8BvtuyPLl8ZSQTRd6hLsNm5d0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j6UOAKHBY37bnoWm0UwIpgtEgeZ9Eku/dAeaEH3dpZ0bUwh6BsyujtqouiYWCuFDz IGPRI4OTXOBLY/S2W+oVKcpcOsfWCJjnTceaw/h4VEvgCwPQM24+M4mV8SbkZ+SH0k tkOHt8Hc3ORAtKkbxn49WPDk9AyXvHH0xHy6QqAY= 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 , Adrian Hunter , Andi Kleen , Jin Yao , Kan Liang , Linus Torvalds Subject: [PATCH 18/20] perf report/top: Do not offer annotation for symbols without samples Date: Mon, 6 Jan 2020 13:07:03 -0300 Message-Id: <20200106160705.10899-19-acme@kernel.org> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200106160705.10899-1-acme@kernel.org> References: <20200106160705.10899-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 This can happen in the --children mode, i.e. the default mode when callchains are present, where one of the main entries may be a callchain entry with no samples. So far we were not providing any information about why an annotation couldn't be provided even offering the Annotation option in the popup menu. Work is needed to allow for no-samples "annotation', i.e. to show the disassembly anyway and allow for navigation, etc. Reviewed-by: Jiri Olsa Cc: Adrian Hunter Cc: Andi Kleen Cc: Jin Yao Cc: Kan Liang Cc: Linus Torvalds Cc: Namhyung Kim Link: https://lkml.kernel.org/n/tip-0hhzj2de15o88cguy7h66zre@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/ui/browsers/hists.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index 8776b1cb29b7..3bec8de89880 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -2465,7 +2465,8 @@ add_annotate_opt(struct hist_browser *browser __maybe_unused, struct popup_action *act, char **optstr, struct map_symbol *ms) { - if (ms->sym == NULL || ms->map->dso->annotate_warned) + if (ms->sym == NULL || ms->map->dso->annotate_warned || + symbol__annotation(ms->sym)->src == NULL) return 0; if (asprintf(optstr, "Annotate %s", ms->sym->name) < 0) @@ -3031,6 +3032,14 @@ static int perf_evsel__hists_browse(struct evsel *evsel, int nr_events, browser->selection->map->dso->annotate_warned) continue; + if (symbol__annotation(browser->selection->sym)->src == NULL) { + ui_browser__warning(&browser->b, delay_secs * 2, + "No samples for the \"%s\" symbol.\n\n" + "Probably appeared just in a callchain", + browser->selection->sym->name); + continue; + } + actions->ms.map = browser->selection->map; actions->ms.sym = browser->selection->sym; do_annotate(browser, actions); -- 2.21.1