Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp1139281pxb; Fri, 6 Nov 2020 01:53:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJzvn4IwjXbnBWKbK0In71Dh/zPtAO9OLZX0s1COv9tl/tM+eK1wczhSst9y4gUhI++sJoLH X-Received: by 2002:a17:906:a108:: with SMTP id t8mr1168028ejy.435.1604656433591; Fri, 06 Nov 2020 01:53:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604656433; cv=none; d=google.com; s=arc-20160816; b=eZdeFok8TzROplQTesJAuvtXsOajxDtcd0EJVh0pnTzR3a1ITTLSAz0Ss0DykIYIvK wOpyTdV0ae1rfKSERIniXVfVGb4Hwn9l2nqEs0vQnEbQ2gl2DiqBSCkS9kCiDWoMhicU RE7LqSstrUUKaDlP3P4GYv83akoDdprdXWU/oF7N6pSnv9oBcAvQWmC6jPy8A4LeqNXG bTsqDOuxgwu8TFeTAITQwTnWQNxmuH5u7U877E0rwRmASKKEcUhHIIQP7M7eBdRVQpwK X+XdXYb3ktnFwZuVmRId+4prBk/0CGdFCdlE8+2dEhFzpRIYl2XfG0y2xaeD16MTTCZI yaQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=7f0Xbxp0l73CuXczuH9NbSRse7uN6mi3bE07Itm9aPI=; b=hHktE2j4ysSyXYxYmeiMOAafyBwkqc4NAo7Qb5BCMMD121fUvfk0qYvEoY1lkAOwMY dRiEAeTIu04De5QBrQiwIspjoTitksG1YG0qUYcMy96eWT85EmqzUc16Gkd/xAA/0Gpe giNTwI2Yui9TvszPr2TTsFGSBpet+YHxIxQSWwGB/C+eySHy0Budo3m5txnBScS2/mra jvirfMvmqJSlAzWzfdYTnUQCulYFGjzz/4yTE1gqY3qAd2FduZ49Ym1jyluObqCMy3EG 9NVTA7zBJ/rLmMPqW24K9EtD31p3P9+geewamdT3e+lpmc+1+rZxtZZHO1JeTMIloVmM wGbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zFFNR1KN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x19si603956edi.214.2020.11.06.01.53.30; Fri, 06 Nov 2020 01:53:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zFFNR1KN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727054AbgKFJuC (ORCPT + 99 others); Fri, 6 Nov 2020 04:50:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726841AbgKFJuB (ORCPT ); Fri, 6 Nov 2020 04:50:01 -0500 Received: from mail-pl1-x644.google.com (mail-pl1-x644.google.com [IPv6:2607:f8b0:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE5FEC0613CF for ; Fri, 6 Nov 2020 01:49:59 -0800 (PST) Received: by mail-pl1-x644.google.com with SMTP id j5so422738plk.7 for ; Fri, 06 Nov 2020 01:49:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7f0Xbxp0l73CuXczuH9NbSRse7uN6mi3bE07Itm9aPI=; b=zFFNR1KN2QlUPHVWR6Bjs4PbEW3xToifk2UhHKY6vBbX8e6VFqmElcGRzGufKq+5Us IxFbi6zgFsA5eCV9S3Y2iFUUGmcNRMttb/6OmuNr5fwa47KH5AHwgWqbXXc6FVYszxHO cC4Q51FPBYgvo3LJEBMMYeEMLHg52f171tZo6n4vVxfvYeIJnBjIzb78nF6CklV5SR7D GB299YTnIUpE0/4WExrNN4xAGRHHvSc4KVpX/WAM5+6q1ode6ruZPVjO7OPQ4sUrO8sJ 1eFwUczb1kuXeXYQgqHpXFhyaZz8W8wkJDGLB8gATudTp+r2SC0x1NS3HlNj10d6KHWX UiSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7f0Xbxp0l73CuXczuH9NbSRse7uN6mi3bE07Itm9aPI=; b=emVD+ZL6j8XfsX+S6Lgxm76dBN0busbaRIumDW+/qhqFCIjXUlS5Dl/mWOPk6HELzU tDRb0nw2Hf1elNRwCu+4wJup8hKSIZN3DK9nkHvSVCsowQpiyTT5s9OIvvYe+sPwVhNd VZfWp4ADR0pWJ7xdF6TLbkcxkJDctJnf9TJbJRAksGZ4induEwVG5V2cpv/rVPK+XXUC hxXuC0nlsExJaL0Np58cDaQ2mZEownFgu5q5gAh7oEDrmCEn399k4pKHuQAU1gC0vpkk yOUqQ7Lc+TkCYSUIv6LQrU0UItwdfEDcp+PXVRP+6v+jsvxG/cJjM59XUoPLiLOscWku 0y/w== X-Gm-Message-State: AOAM530qcuOb4+UAXQXDw6PXp56WKeGtCxA0PZyKE+VSGO61jaioiHvw vjRzUaYWo4tP/Ix/ZElwvBTAKg== X-Received: by 2002:a17:902:b789:b029:d6:d543:bd14 with SMTP id e9-20020a170902b789b02900d6d543bd14mr1269444pls.16.1604656199457; Fri, 06 Nov 2020 01:49:59 -0800 (PST) Received: from localhost ([2400:8904::f03c:91ff:fe8a:adf7]) by smtp.gmail.com with ESMTPSA id w22sm1230549pge.25.2020.11.06.01.49.58 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 06 Nov 2020 01:49:58 -0800 (PST) From: Leo Yan To: Arnaldo Carvalho de Melo , Jiri Olsa , Ian Rogers , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Adrian Hunter , Andi Kleen , Kemeng Shi , Sergey Senozhatsky , Al Grant , James Clark , Wei Li , Andre Przywara , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v4 7/9] perf mem: Support AUX trace Date: Fri, 6 Nov 2020 17:48:51 +0800 Message-Id: <20201106094853.21082-8-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201106094853.21082-1-leo.yan@linaro.org> References: <20201106094853.21082-1-leo.yan@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Perf memory tool doesn't support AUX trace data so it cannot receive the hardware tracing data. On Arm64, although it doesn't support PMU events for memory load and store, but Arm SPE is a good candidate for memory profiling, the hardware tracer can record memory accessing operations with affiliated information (e.g. physical address and virtual address for accessing, cache levels, TLB walking, latency, etc). To allow "perf mem" tool to support AUX trace, this patch adds the AUX callbacks for session structure; make itrace memory event as default for "perf mem", this tells the AUX trace decoder to synthesize memory samples. Signed-off-by: Leo Yan --- tools/perf/builtin-mem.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c index 72ce4b8fbb0f..fdfbff7592f4 100644 --- a/tools/perf/builtin-mem.c +++ b/tools/perf/builtin-mem.c @@ -7,6 +7,7 @@ #include "perf.h" #include +#include "util/auxtrace.h" #include "util/trace-event.h" #include "util/tool.h" #include "util/session.h" @@ -255,6 +256,12 @@ static int process_sample_event(struct perf_tool *tool, static int report_raw_events(struct perf_mem *mem) { + struct itrace_synth_opts itrace_synth_opts = { + .set = true, + .mem = true, /* Only enable memory event */ + .default_no_sample = true, + }; + struct perf_data data = { .path = input_name, .mode = PERF_DATA_MODE_READ, @@ -267,6 +274,8 @@ static int report_raw_events(struct perf_mem *mem) if (IS_ERR(session)) return PTR_ERR(session); + session->itrace_synth_opts = &itrace_synth_opts; + if (mem->cpu_list) { ret = perf_session__cpu_bitmap(session, mem->cpu_list, mem->cpu_bitmap); @@ -410,8 +419,12 @@ int cmd_mem(int argc, const char **argv) .comm = perf_event__process_comm, .lost = perf_event__process_lost, .fork = perf_event__process_fork, + .attr = perf_event__process_attr, .build_id = perf_event__process_build_id, .namespaces = perf_event__process_namespaces, + .auxtrace_info = perf_event__process_auxtrace_info, + .auxtrace = perf_event__process_auxtrace, + .auxtrace_error = perf_event__process_auxtrace_error, .ordered_events = true, }, .input_name = "perf.data", -- 2.17.1