From patchwork Wed Oct 28 06:38:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862509 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73355C55178 for ; Wed, 28 Oct 2020 06:39:13 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C346D21775 for ; Wed, 28 Oct 2020 06:39:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tUNyR+1O"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="fnEh14j9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C346D21775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=cfPV4iAccPOZjtBZoYKaq7lHUzllE1N1LLClo4zS9yE=; b=tUNyR+1OYa7Ftar39msNVKYpDL lzEVGvkMT6bpUQTNgbIfCGfhXo5zPEyRsYyH2p4bBbRb8p56h/jjj2xyR1xXjAN72mIcZ/qrRUKD8 Kxxq+s8Yc+rhQGE9Ii2LAeT5Q/qAiNl4MI5PkdWxKo+dSMdbZd9kvs9DDStOj+BwJgFfnHhoN+uUb 4QBc+E0AN3NzYMTg0P+q/N7uShUGQy94hcdj8eDnHsS/Pt3MhrVrKB2R7jzkeoaEa3ewuXlXLOish WkmUNL9KpBEAIgfMdOGLdHT9SgC/WAUJh3IaIPSoaiWHaWz4+GVSaKGcxjOjvFqniDLBXFEMJ8CIl BEZk+FYA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6W-0006UM-Tn; Wed, 28 Oct 2020 06:38:40 +0000 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6N-0006SO-Lr for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:38:32 +0000 Received: by mail-pj1-x1041.google.com with SMTP id gi3so1980428pjb.3 for ; Tue, 27 Oct 2020 23:38:31 -0700 (PDT) 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=xBMDYR0EtJiH6gOkUzFJE+KFN5Qsrk4p6krIBtwIhQY=; b=fnEh14j9cDBnc88fWGILZoJjMrrpmGdYL1bTRj+T1xjRu1K2Ks2NQAFYUGe5B2ybjb R59ugAZsEq1NjYJJq6EF9XxOgEMZfGCNp4c8TB259X9ENmQLCIAYnWq1Zbkuj2NhwCMl K7ZA84Nxk4FFaIZ014uPBeP2M+AtQdAekEgSh6Jpl9FG6tFLzvoEb+mEDtAGIj88FTiS QR9KX20mpBfqPY0f9v5Q3eS2nIpLdbCQ+JGtawRbhQfW/CJcCKPO9f+ZlG7fYQqET9Xv O2kQ2qw0ZJMreuKCu3KBJPAYgy+SqIt/fSxYls1y26Wd+TL9hDU8bxwB7b6tMFzVIjtT 8UvA== 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=xBMDYR0EtJiH6gOkUzFJE+KFN5Qsrk4p6krIBtwIhQY=; b=lToA09nwlYqInHNWPH5Opfok1dvlHhHduFsbVXw3NX6Uy8rN0sMH+8mm9P0ZzcJ27p h5xHy975dSJKWLnubIBdeL5cLRiZjPE4ApeI3T32hrYCp1ldjhMhomTmhUkRTfox6N+L ZPsdQBUP/9PtOyNXOnGC7jX9i3+U8OftM5qPqryDfd/kPnGMx5vbgdUhM2kvaD7SYRAU zkDkd4zfjfSs+4Hp6AdTMYYhVgr0OahZBRJmeEIKWTtETz0Cpo7t1cH2jS4MbHT70c6a f1q6VJ8+CDqkQhmIITNvCiuSh/oSpARFbAmkbwSrLzjywtpJB/MroljUnNG5z3Xyg5P8 j8vw== X-Gm-Message-State: AOAM531NOVEeypLBQb4juXLMNrg3F7r6ZgUDNZWiPH7AXUvhSHHcOItb JLYwlFYyM1HKrPigfTS6aqf53w== X-Google-Smtp-Source: ABdhPJzr1TfHgCP4mDEFtpROiZSfm2iPeVOUcXnHmUi58oeN1AsIbwFWQnAfW/7h2mAIA+yb/pu+Wg== X-Received: by 2002:a17:902:6545:b029:d3:d1fc:ff28 with SMTP id d5-20020a1709026545b02900d3d1fcff28mr5989622pln.34.1603867109597; Tue, 27 Oct 2020 23:38:29 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id j8sm4229781pfj.68.2020.10.27.23.38.28 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:38:29 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 1/9] perf mem: Search event name with more flexible path Date: Wed, 28 Oct 2020 14:38:05 +0800 Message-Id: <20201028063813.8562-2-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023831_787036_3A45343C X-CRM114-Status: GOOD ( 16.85 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Perf tool searches memory event name under the folder '/sys/devices/cpu/events/', this leads to the limitation for selection memory profiling event which must be under this folder. Thus it's impossible to use any other event as memory event which is not under this specific folder, e.g. Arm SPE hardware event is not located in '/sys/devices/cpu/events/' so it cannot be enabled for memory profiling. This patch changes to search folder from '/sys/devices/cpu/events/' to '/sys/devices', so it give flexibility to find events which can be used for memory profiling. Signed-off-by: Leo Yan Acked-by: Jiri Olsa --- tools/perf/util/mem-events.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index ea0af0bc4314..35c8d175a9d2 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -18,8 +18,8 @@ unsigned int perf_mem_events__loads_ldlat = 30; #define E(t, n, s) { .tag = t, .name = n, .sysfs_name = s } struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX] = { - E("ldlat-loads", "cpu/mem-loads,ldlat=%u/P", "mem-loads"), - E("ldlat-stores", "cpu/mem-stores/P", "mem-stores"), + E("ldlat-loads", "cpu/mem-loads,ldlat=%u/P", "cpu/events/mem-loads"), + E("ldlat-stores", "cpu/mem-stores/P", "cpu/events/mem-stores"), }; #undef E @@ -93,7 +93,7 @@ int perf_mem_events__init(void) struct perf_mem_event *e = &perf_mem_events[j]; struct stat st; - scnprintf(path, PATH_MAX, "%s/devices/cpu/events/%s", + scnprintf(path, PATH_MAX, "%s/devices/%s", mnt, e->sysfs_name); if (!stat(path, &st)) From patchwork Wed Oct 28 06:38:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862523 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1229EC4363A for ; Wed, 28 Oct 2020 06:40:19 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 810A321775 for ; Wed, 28 Oct 2020 06:40:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Hxp07XLh"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="j/Zycd4O" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 810A321775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iVAgKeSiDUXoHsJFRCq0voS2qqBuqcdr//V7GuUNCVg=; b=Hxp07XLhndGBrBwcOnoSICJJXv XEQCiRdinXPi8kzulJllQLuADbGxGQdr/mIlOoal0w/ojigvBpJ3Tdk4PTR+V0OcNxbX57ndHmH89 hTh2TBWYfh/1qW5EStjv6jnBqf+4R3WX22oo6dPvaXof/juN3tH0dBMj2IubDqTi0Y4P1Q4yoBJ9X AHPiCdrALN/Xu1PeFgiFttzk9pAUcHJ3sSUpEKysri5HDCk4vkAuVXETacIFbNurhNgAa61Hn/7wi +6cHiifsPTGRtVkNL173c2nzN+tx742b2y5no3BAJ95JxoQ5yVAYdpbeBx/EWegyJcK9NZig5dDPD r8iSwyRQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6a-0006VE-9c; Wed, 28 Oct 2020 06:38:44 +0000 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6S-0006TM-MU for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:38:38 +0000 Received: by mail-pl1-x641.google.com with SMTP id p17so249882pli.13 for ; Tue, 27 Oct 2020 23:38:36 -0700 (PDT) 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=wIjhrssAiBDg/GkLmZoS0mFtmljZ0v4XQMutOe+GHHs=; b=j/Zycd4OcQN/6MVCLd6KQJ0aGo2E4uyI8jB5BYH+fkgtx7WL1R+hJxgUvFEi/p1Zjm Qwi7nMzNR+tMHrtUjZ9x+E/nmu7AcO2ZNqQZxfF4WEJ3CUzXzTTIjCvUu1n17uYzJYEw fiv2LB5UkkesJ1RFqI7zBoRA/Ii2dySGG2wy/qNiAJj3StbNdDvx7wqTdHxBRw0pvih3 fsQKNs4aaPVLRcmLPuLUsuQhDZlWTIFh5XLZK3JFgiw5uH61Sub/89GBxEw82uRo9JdT 6PS5zIzLkWf7dGDyuWXOIKskjH5DzQvGu7khktrZQwykE83qR345d/KRbRXCQvZQF9IQ 9GbQ== 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=wIjhrssAiBDg/GkLmZoS0mFtmljZ0v4XQMutOe+GHHs=; b=YiHz6hfMLJG27nlJ7EMMfETLFWzffkaT/1fMq/8AIonkefVyRZYxewUSGn4pEZUmDG R7wHfR9pNNFwyHlWoNM2SfAxAWAZMLZdmJTFBVbvfP2BWgt9P8m4mFFiZkXV8q+MVAh4 DLMcP/uzytP4UFsBMNO4vvZqSsVh3nncM1w5yDBezX00cZNTb1vXSdCx1jTUQ6rGPdtK 63qPKvfRI83LIYNlblLf/M18N1SjDaWH5hcuJfBtxQYrsk3VJc/hhQQ9YVIrjNKT8Nm9 MyLbzPJpgqEpQCRe9gmqeh8YzYbsytD+SLuiZqLUMwWQ8K9guHj09TCg/MdhupMJuayb Mkqw== X-Gm-Message-State: AOAM532kisW8cxPUBEM9MzxDMOQj1K8/yvmOS50ji8Ajwi/Wg6bR1ljk U/efoyjuKOYYmO5enhNCusbQlg== X-Google-Smtp-Source: ABdhPJzJ+3PQl78egCx2uY0oKSXzWLtHnfR1btWr9nPTX9rxZSv2lyHGzB4bX7md6yQDkz/oHtM0WA== X-Received: by 2002:a17:90a:1102:: with SMTP id d2mr5789627pja.178.1603867114673; Tue, 27 Oct 2020 23:38:34 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id nk13sm1256725pjb.1.2020.10.27.23.38.33 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:38:34 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 2/9] perf mem: Introduce weak function perf_mem_events__ptr() Date: Wed, 28 Oct 2020 14:38:06 +0800 Message-Id: <20201028063813.8562-3-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023836_806348_9409A742 X-CRM114-Status: GOOD ( 21.93 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Different architectures might use different event or different event parameters for memory profiling, this patch introduces weak function perf_mem_events__ptr(), which allows to return back architecture specific memory event. Since the variable 'perf_mem_events' can be only accessed by the function perf_mem_events__ptr(), marks the variable as 'static', this allows the architectures to define its own memory event array. Signed-off-by: Leo Yan --- tools/perf/builtin-c2c.c | 18 ++++++++++++------ tools/perf/builtin-mem.c | 21 ++++++++++++++------- tools/perf/util/mem-events.c | 26 +++++++++++++++++++------- tools/perf/util/mem-events.h | 2 +- 4 files changed, 46 insertions(+), 21 deletions(-) diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c index d5bea5d3cd51..4d1a08e38233 100644 --- a/tools/perf/builtin-c2c.c +++ b/tools/perf/builtin-c2c.c @@ -2867,6 +2867,7 @@ static int perf_c2c__record(int argc, const char **argv) int ret; bool all_user = false, all_kernel = false; bool event_set = false; + struct perf_mem_event *e; struct option options[] = { OPT_CALLBACK('e', "event", &event_set, "event", "event selector. Use 'perf c2c record -e list' to list available events", @@ -2894,11 +2895,15 @@ static int perf_c2c__record(int argc, const char **argv) rec_argv[i++] = "record"; if (!event_set) { - perf_mem_events[PERF_MEM_EVENTS__LOAD].record = true; - perf_mem_events[PERF_MEM_EVENTS__STORE].record = true; + e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD); + e->record = true; + + e = perf_mem_events__ptr(PERF_MEM_EVENTS__STORE); + e->record = true; } - if (perf_mem_events[PERF_MEM_EVENTS__LOAD].record) + e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD); + if (e->record) rec_argv[i++] = "-W"; rec_argv[i++] = "-d"; @@ -2906,12 +2911,13 @@ static int perf_c2c__record(int argc, const char **argv) rec_argv[i++] = "--sample-cpu"; for (j = 0; j < PERF_MEM_EVENTS__MAX; j++) { - if (!perf_mem_events[j].record) + e = perf_mem_events__ptr(j); + if (!e->record) continue; - if (!perf_mem_events[j].supported) { + if (!e->supported) { pr_err("failed: event '%s' not supported\n", - perf_mem_events[j].name); + perf_mem_events__name(j)); free(rec_argv); return -1; } diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c index 3523279af6af..9a7df8d01296 100644 --- a/tools/perf/builtin-mem.c +++ b/tools/perf/builtin-mem.c @@ -64,6 +64,7 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem) const char **rec_argv; int ret; bool all_user = false, all_kernel = false; + struct perf_mem_event *e; struct option options[] = { OPT_CALLBACK('e', "event", &mem, "event", "event selector. use 'perf mem record -e list' to list available events", @@ -86,13 +87,18 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem) rec_argv[i++] = "record"; - if (mem->operation & MEM_OPERATION_LOAD) - perf_mem_events[PERF_MEM_EVENTS__LOAD].record = true; + if (mem->operation & MEM_OPERATION_LOAD) { + e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD); + e->record = true; + } - if (mem->operation & MEM_OPERATION_STORE) - perf_mem_events[PERF_MEM_EVENTS__STORE].record = true; + if (mem->operation & MEM_OPERATION_STORE) { + e = perf_mem_events__ptr(PERF_MEM_EVENTS__STORE); + e->record = true; + } - if (perf_mem_events[PERF_MEM_EVENTS__LOAD].record) + e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD); + if (e->record) rec_argv[i++] = "-W"; rec_argv[i++] = "-d"; @@ -101,10 +107,11 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem) rec_argv[i++] = "--phys-data"; for (j = 0; j < PERF_MEM_EVENTS__MAX; j++) { - if (!perf_mem_events[j].record) + e = perf_mem_events__ptr(j); + if (!e->record) continue; - if (!perf_mem_events[j].supported) { + if (!e->supported) { pr_err("failed: event '%s' not supported\n", perf_mem_events__name(j)); free(rec_argv); diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index 35c8d175a9d2..7a5a0d699e27 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -17,7 +17,7 @@ unsigned int perf_mem_events__loads_ldlat = 30; #define E(t, n, s) { .tag = t, .name = n, .sysfs_name = s } -struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX] = { +static struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX] = { E("ldlat-loads", "cpu/mem-loads,ldlat=%u/P", "cpu/events/mem-loads"), E("ldlat-stores", "cpu/mem-stores/P", "cpu/events/mem-stores"), }; @@ -28,19 +28,31 @@ struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX] = { static char mem_loads_name[100]; static bool mem_loads_name__init; +struct perf_mem_event * __weak perf_mem_events__ptr(int i) +{ + if (i >= PERF_MEM_EVENTS__MAX) + return NULL; + + return &perf_mem_events[i]; +} + char * __weak perf_mem_events__name(int i) { + struct perf_mem_event *e = perf_mem_events__ptr(i); + + if (!e) + return NULL; + if (i == PERF_MEM_EVENTS__LOAD) { if (!mem_loads_name__init) { mem_loads_name__init = true; scnprintf(mem_loads_name, sizeof(mem_loads_name), - perf_mem_events[i].name, - perf_mem_events__loads_ldlat); + e->name, perf_mem_events__loads_ldlat); } return mem_loads_name; } - return (char *)perf_mem_events[i].name; + return (char *)e->name; } int perf_mem_events__parse(const char *str) @@ -61,7 +73,7 @@ int perf_mem_events__parse(const char *str) while (tok) { for (j = 0; j < PERF_MEM_EVENTS__MAX; j++) { - struct perf_mem_event *e = &perf_mem_events[j]; + struct perf_mem_event *e = perf_mem_events__ptr(j); if (strstr(e->tag, tok)) e->record = found = true; @@ -90,7 +102,7 @@ int perf_mem_events__init(void) for (j = 0; j < PERF_MEM_EVENTS__MAX; j++) { char path[PATH_MAX]; - struct perf_mem_event *e = &perf_mem_events[j]; + struct perf_mem_event *e = perf_mem_events__ptr(j); struct stat st; scnprintf(path, PATH_MAX, "%s/devices/%s", @@ -108,7 +120,7 @@ void perf_mem_events__list(void) int j; for (j = 0; j < PERF_MEM_EVENTS__MAX; j++) { - struct perf_mem_event *e = &perf_mem_events[j]; + struct perf_mem_event *e = perf_mem_events__ptr(j); fprintf(stderr, "%-13s%-*s%s\n", e->tag, diff --git a/tools/perf/util/mem-events.h b/tools/perf/util/mem-events.h index 904dad34f7f7..726a9c8103e4 100644 --- a/tools/perf/util/mem-events.h +++ b/tools/perf/util/mem-events.h @@ -31,13 +31,13 @@ enum { PERF_MEM_EVENTS__MAX, }; -extern struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX]; extern unsigned int perf_mem_events__loads_ldlat; int perf_mem_events__parse(const char *str); int perf_mem_events__init(void); char *perf_mem_events__name(int i); +struct perf_mem_event *perf_mem_events__ptr(int i); void perf_mem_events__list(void); From patchwork Wed Oct 28 06:38:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862511 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5061FC4363A for ; Wed, 28 Oct 2020 06:39:27 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C0C7322241 for ; Wed, 28 Oct 2020 06:39:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ygtbxIjC"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IITH0aW/" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C0C7322241 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SkGephcMSmXkAxWcbBFaf/xhFZozesy+dhrs7DmpGik=; b=ygtbxIjCBnTv1yKcCs9VShhnVh ssXiFB/39mAgdFw68vlipOdhYJ2Y0tK0rweW2V4j/3JAX44nT0P5cpqg0MRj37OOIc2bRQYuAfqM8 /lJc7k6HaZJavY9YBSjvekn1lt39XT2/zS/8olU9grmoZMx/DW5JD4Qa5w4e1nre50+zl3Kwa5ITI NL3zrn8CuG8cbzSzdXvCzMKnMmIqmsI4xDzHCX4l9Myb7jAIuY+/MZM+QCeIxzEJjYTum8miecOxw Pm3lPCOWAaOEQqvmJz0b123Y+FnhNFrnyKGvJYPqyUn/TQ1eh9V/ctP3/SqP1zedfCml6CDHqb8RM rMNGecjQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6l-0006Yp-Km; Wed, 28 Oct 2020 06:38:55 +0000 Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6X-0006UL-F9 for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:38:43 +0000 Received: by mail-pj1-x1044.google.com with SMTP id az3so2047425pjb.4 for ; Tue, 27 Oct 2020 23:38:41 -0700 (PDT) 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=MZws/yHeMeZIdN0QaM5yV/E7HIfLgH25EcF8ntilLJg=; b=IITH0aW/Iy98o1mD08/jT0jklhoPMhvcjuumLNH5H+oY2uixh0bgviuxGGyQ+6WV2T 3K9/nkMaWQ3U5jpKTvf6oqPpNwFbh1/bC+Zry0/l10Rm3jBDOUByoFCP/9Es0O92PJJv +fdWca+aoBFZTklnT4D9oZbeM5lReXKB7LwytieIYwDHe2gwx58MRG32jW2G+GXfZKIr pwvlJtJZAC7N2Bwj+gUhlBiDkOv5olDkVm4VQUa2q8VRfDPualLwmFWpITpydKobtNni ZZ6IyjkmmBerXQrPlYpdvZSLBiQqV6PnCnmMqR09njuOvw4VQrd4OLjAxEKeqt3wZNJk EcXA== 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=MZws/yHeMeZIdN0QaM5yV/E7HIfLgH25EcF8ntilLJg=; b=nw5IdrB2JqYvZYa/9ZMHfhL3te7mgNcq8VOSZjmqIGZbgCdLnMANMiZh5IA4ss3Fc6 YnQQ7rfhHgzVYO5MNrjF3e/MTxzOwDt/AUpOyGSLfO7yiwG89QO+6rzHwGawt3zOJ//c cA6ssibnJ47liuU43SM61Zhnwaq9nLQzrZYFVCiVG/tkCVWHxNcm3/VbmCl6YfS+TCE1 ictN28NBtV9xL3qoGZF7hBj362mbDPih7PrrFB0ztBB7qi/ykS/2eiYYdnpYVb+BQWF+ gyr4cHwYgjYMyQ9e1ko33FctOyb4ZI/n4iGiZsB3EpEwveMPXqMHWsbBwSAqFNOUIyq8 oJ0g== X-Gm-Message-State: AOAM530/BWRDxpr4Eh9HtVsCR5FDDUx7AwQpebJxQOHRw7DfrpxcmEaT 3fqEpkZQUzxrG75bmSdjYnbt7A== X-Google-Smtp-Source: ABdhPJwJv62nvQGcNGugNXS8WGpowmteHMkD1GzLgt6WSpm84TMzNTgVPuaLGT9yaliTSeyhj0kLvw== X-Received: by 2002:a17:902:a3c2:b029:d6:3951:5bdc with SMTP id q2-20020a170902a3c2b02900d639515bdcmr6107502plb.71.1603867119624; Tue, 27 Oct 2020 23:38:39 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id j11sm4374936pfe.80.2020.10.27.23.38.38 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:38:39 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 3/9] perf mem: Support new memory event PERF_MEM_EVENTS__LOAD_STORE Date: Wed, 28 Oct 2020 14:38:07 +0800 Message-Id: <20201028063813.8562-4-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023841_609007_C4371517 X-CRM114-Status: GOOD ( 21.94 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On the architectures with perf memory profiling, two types of hardware events have been supported: load and store; if want to profile memory for both load and store operations, the tool will use these two events at the same time, the usage is: # perf mem record -t load,store -- uname But this cannot be applied for AUX tracing event, the same PMU event can be used to only trace memory load, or only memory store, or trace for both memory load and store. This patch introduces a new event PERF_MEM_EVENTS__LOAD_STORE, which is used to support the event which can record both memory load and store operations, thus a new type option "ldst" is added: # perf mem record -t ldst -- uname Signed-off-by: Leo Yan --- tools/perf/builtin-mem.c | 13 ++++++++++--- tools/perf/util/mem-events.c | 13 ++++++++++++- tools/perf/util/mem-events.h | 1 + 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c index 9a7df8d01296..31144f586e77 100644 --- a/tools/perf/builtin-mem.c +++ b/tools/perf/builtin-mem.c @@ -19,8 +19,9 @@ #include "util/symbol.h" #include -#define MEM_OPERATION_LOAD 0x1 -#define MEM_OPERATION_STORE 0x2 +#define MEM_OPERATION_LOAD 0x1 +#define MEM_OPERATION_STORE 0x2 +#define MEM_OPERATION_LOAD_STORE 0x4 struct perf_mem { struct perf_tool tool; @@ -97,6 +98,11 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem) e->record = true; } + if (mem->operation & MEM_OPERATION_LOAD_STORE) { + e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD_STORE); + e->record = true; + } + e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD); if (e->record) rec_argv[i++] = "-W"; @@ -326,6 +332,7 @@ struct mem_mode { static const struct mem_mode mem_modes[]={ MEM_OPT("load", MEM_OPERATION_LOAD), MEM_OPT("store", MEM_OPERATION_STORE), + MEM_OPT("ldst", MEM_OPERATION_LOAD_STORE), MEM_END }; @@ -405,7 +412,7 @@ int cmd_mem(int argc, const char **argv) }; const struct option mem_options[] = { OPT_CALLBACK('t', "type", &mem.operation, - "type", "memory operations(load,store) Default load,store", + "type", "memory operations(load,store,ldst) Default load,store", parse_mem_ops), OPT_BOOLEAN('D', "dump-raw-samples", &mem.dump_raw, "dump raw samples in ASCII"), diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index 7a5a0d699e27..2e82b4e78f29 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -20,6 +20,7 @@ unsigned int perf_mem_events__loads_ldlat = 30; static struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX] = { E("ldlat-loads", "cpu/mem-loads,ldlat=%u/P", "cpu/events/mem-loads"), E("ldlat-stores", "cpu/mem-stores/P", "cpu/events/mem-stores"), + E(NULL, NULL, NULL), }; #undef E @@ -75,6 +76,9 @@ int perf_mem_events__parse(const char *str) for (j = 0; j < PERF_MEM_EVENTS__MAX; j++) { struct perf_mem_event *e = perf_mem_events__ptr(j); + if (!e->tag) + continue; + if (strstr(e->tag, tok)) e->record = found = true; } @@ -105,6 +109,13 @@ int perf_mem_events__init(void) struct perf_mem_event *e = perf_mem_events__ptr(j); struct stat st; + /* + * If the event entry isn't valid, skip initialization + * and "e->supported" will keep false. + */ + if (!e->tag) + continue; + scnprintf(path, PATH_MAX, "%s/devices/%s", mnt, e->sysfs_name); @@ -123,7 +134,7 @@ void perf_mem_events__list(void) struct perf_mem_event *e = perf_mem_events__ptr(j); fprintf(stderr, "%-13s%-*s%s\n", - e->tag, + e->tag ? e->tag : "", verbose > 0 ? 25 : 0, verbose > 0 ? perf_mem_events__name(j) : "", e->supported ? ": available" : ""); diff --git a/tools/perf/util/mem-events.h b/tools/perf/util/mem-events.h index 726a9c8103e4..5ef178278909 100644 --- a/tools/perf/util/mem-events.h +++ b/tools/perf/util/mem-events.h @@ -28,6 +28,7 @@ struct mem_info { enum { PERF_MEM_EVENTS__LOAD, PERF_MEM_EVENTS__STORE, + PERF_MEM_EVENTS__LOAD_STORE, PERF_MEM_EVENTS__MAX, }; From patchwork Wed Oct 28 06:38:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862521 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07E56C4363A for ; Wed, 28 Oct 2020 06:40:34 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7CEEC21775 for ; Wed, 28 Oct 2020 06:40:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ZS3dEzpQ"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="nV00rakW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7CEEC21775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=OE75lwwexDfTCttM7CmyEQwFkgTiZfiQWE8kZ+2f2JA=; b=ZS3dEzpQx2Ykt0TiozdQuUB1pT llytlLPLm1cPgCozEfWC1u9leH51x335eeknwbs+VElQi8DzmWms7BjfXbkRmMjOGKv+zNefOPGw8 5WNY1gYJlrcMfRvHXUdLwowGcQ8Jwu1wSJu0+VqSRXwJbRP5skOPWFMcQg/WVWllvvqMCuOCCrjgV my2MkPmR4axTVz6xF7wCR6J71DSzQpgsTqJQ09y2NTJNP7zHJzI/kWa4YB+T6wwfaR5yRwdTuTH/E h831VQ615hl7VjNpuAK1nEOcw6OWvUw5AUWlCfcSF5oiFLDsYAFCXzytQrnxeyTfNrqMXQZ8zo4N6 QNhnX8zQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6q-0006aW-HU; Wed, 28 Oct 2020 06:39:00 +0000 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6c-0006Ve-LE for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:38:48 +0000 Received: by mail-pg1-x544.google.com with SMTP id s22so2184553pga.9 for ; Tue, 27 Oct 2020 23:38:46 -0700 (PDT) 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=wv05kmOFvRldoma6qnDe7plfeMpK62X6ArmvDV4JzoI=; b=nV00rakW8JlSD1SHXjoiEXZxrs7z4VK3jGg0yl2ZbPohKluY3m61nbAlcNRZZuat0G 9Re8IAXm2yVXkSWn6+GjdEM1JXJ3fIJbt1DREEn7HgBaqDEBMpAQq8z/etVLIoJ4lh8X 06It32w6HxUOxGn9DOzY9vTjzMAHX6BEjddiWDtWQkkjAxM/7ae0PTiKu347bEjscC99 ZPYh3ck4lSn5YP/+9zYaAIoq9T/AUBBvXcl0IwQFy84Zy4IyQ7YI+nCT/uX0v2y68vF0 7rpUkHTtGct3nf78uCp7+m+OOlxyHkm5pcJEr66O+5MkutQacG3gz8Q0/K8DSylBr8wU Eg2w== 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=wv05kmOFvRldoma6qnDe7plfeMpK62X6ArmvDV4JzoI=; b=pCvWuny6q9EMTbYReiMPezX4pb5cxr2UmHuEGjIcDsvf9NaN7Bsg/yhvsXve6hHrI/ uGChLPDteu+p76KZvwVsfGFJ5dNouQ/J7gPRxslwN2RfOdiOXPaHOdvbKT0qCMPtdgVw pcuI0sK3PzepuiDPCuOFfykFCU54xgb49O9TQzxBk6QExNgalD1RJkTXAlxkI2swXkNt LKlZ6ax40lpuY/sugtnxoU7z/bUp7NABq0oJdl/tZw6BZo8dZD3MiRBkPrS0q68GPGab 68Q4aFp/wE9eW3aS7UP58mmi1M8hNHqkO0Iw9e5r7jPP4GuisFO7g141R/j8o5S+gPpU EjUw== X-Gm-Message-State: AOAM5321VbZOWvio4f+vObOtvwTOX3gtvJyxOqNCN/sPwoPSulCtifov Gei8YnTaAF5/yPHG8OQZgpTp6A== X-Google-Smtp-Source: ABdhPJzCxbyMI5u9s8pS+n9iTgmH92Oh+pM1meZA3+X6X7cJKGjPkU7+klC2EYxtJ+2mK5HMrznLdw== X-Received: by 2002:a62:6507:0:b029:155:3b11:b458 with SMTP id z7-20020a6265070000b02901553b11b458mr6044291pfb.45.1603867124515; Tue, 27 Oct 2020 23:38:44 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id n6sm4058809pjj.34.2020.10.27.23.38.43 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:38:43 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 4/9] perf mem: Only initialize memory event for recording Date: Wed, 28 Oct 2020 14:38:08 +0800 Message-Id: <20201028063813.8562-5-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023846_772107_36973509 X-CRM114-Status: GOOD ( 17.77 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org It's needless to initialize memory events for reporting, this patch moves memory event initialization for only recording. Furthermore, the change allows to parse perf data on cross platforms, e.g. perf tool can report result properly even the machine doesn't support the memory events. Signed-off-by: Leo Yan Acked-by: Ian Rogers --- tools/perf/builtin-mem.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c index 31144f586e77..f3dc2d2b879c 100644 --- a/tools/perf/builtin-mem.c +++ b/tools/perf/builtin-mem.c @@ -78,6 +78,11 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem) OPT_END() }; + if (perf_mem_events__init()) { + pr_err("failed: memory events not supported\n"); + return -1; + } + argc = parse_options(argc, argv, options, record_mem_usage, PARSE_OPT_KEEP_UNKNOWN); @@ -436,11 +441,6 @@ int cmd_mem(int argc, const char **argv) NULL }; - if (perf_mem_events__init()) { - pr_err("failed: memory events not supported\n"); - return -1; - } - argc = parse_options_subcommand(argc, argv, mem_options, mem_subcommands, mem_usage, PARSE_OPT_KEEP_UNKNOWN); From patchwork Wed Oct 28 06:38:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862507 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71B26C388F7 for ; Wed, 28 Oct 2020 06:39:40 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DD69421775 for ; Wed, 28 Oct 2020 06:39:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="3bAY+we0"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="hzMACXHJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DD69421775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=umOt+fHwOvXPyHZef50sZxYywoCd4QukYs4SKKbJdDs=; b=3bAY+we0jrXmJJRv/IG35s27c9 xTCZom4ZJce1Nuu81Gaq0iUdyBOT/nPEOIAx3moohJqEHf/btHzMHqLNcHej7sWH+6V1UzM7JAgCM bS48CRKeFiSm0P4dArOrJYa06flm7d/VFOh/zI3HtNi2zDRIVsOmO18LWUCVvGoFyOGNr+jBLKxHV Rwxzhtk93G0X8gajMkBfkNCMRi17P3fScmkmpAFjh8pCJ0dqkh7a4Co1XfVZfUBcEMmvkAjn0Jujg 34jACAse9w6/v7xq6qhRmPca8Lcfh059wOwMS28vz1aMoJO7Q9rxQf2B287n8ftHifzxCBxsAe9Xa QIY86cVA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6x-0006cq-Sw; Wed, 28 Oct 2020 06:39:07 +0000 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6h-0006XC-L6 for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:38:53 +0000 Received: by mail-pl1-x644.google.com with SMTP id r3so2007771plo.1 for ; Tue, 27 Oct 2020 23:38:51 -0700 (PDT) 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=5jeJiRaAbKWuyob37GOTyfw/86/Frh0gugFaBK7OFIs=; b=hzMACXHJ+NwXdqkR3VVPOC7bnaMcYm3xikDHOfRCzPV9GnJlQeLX8KaMniZD0GSBLU Zh19U1m+DhCgqqGIf1H6wvaJdur/uKnZ6AVseodvfX7PzKGaZr289BCRZxsOV2xjcHEj R4vpzWP+QJETtzUjqcx2JJzgB6nzmicmMsWTYPKGQSkGjd1r+3XTSRMekQLt3K4Ajcs/ rJG4SnXh3c4PsLJDz1/pKGTgrhmDTleUkeV4UMuOssmLLbdWKqMu7cj5jksL5LIjP9oN 2IBT+8iDGCwsUQvAhvcCuG7kz2kDq8Nh0HX+AaYUJ9WmHB/eeLD74BqSHXovJM7Jw2H5 IxSA== 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=5jeJiRaAbKWuyob37GOTyfw/86/Frh0gugFaBK7OFIs=; b=o7d2bdPo4WKqj1LTrD6q6cwJj2LLLL2Felxt5/k1eukpWQ+YqlBGhemipE3MaiIjNy c1Y+Hp6m/xU0/sjq3XdCT+iiCOcmVlXANIgN+DjvVj9pPrBaSz7oqq4mdHZjwWbI+uXw L6dh6HeZ4U/49/o5x+z3jEmJSEC20Zcgg6F3XNDyJuvoTm3112PDxDAX3Zqsp8OsWbVH zKCm5Idkt69/s/blMsEgnQZYSsu0xv5I1umvKxa1IcggWBr3uafTu+6LOUqHSzSp2OEI XO1lZi1cMoZdqfFPM4U9B7lGWkL33PNo/yDxXWspqV2rSghrTqGu1Qevx5q6L1Zss2Il KtkA== X-Gm-Message-State: AOAM530bZRsT3bCiTy1GbQLsB9upX7dXgNMCq5v+T6vzvOzin3aWsVn2 9l8HDB8FstVW7ZQ/wFJWoF4yhw== X-Google-Smtp-Source: ABdhPJxsPGjoz9Nf8PR1b73ATvv2YKlLUPNIXREg4qMJSV6zUSKNXAfZTYTWxOhh6cbO+s5rkjuhBQ== X-Received: by 2002:a17:90a:7303:: with SMTP id m3mr5825028pjk.190.1603867129442; Tue, 27 Oct 2020 23:38:49 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id r6sm4610030pfg.85.2020.10.27.23.38.48 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:38:48 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 5/9] perf mem: Support AUX trace Date: Wed, 28 Oct 2020 14:38:09 +0800 Message-Id: <20201028063813.8562-6-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023851_753464_BAC38CCF X-CRM114-Status: GOOD ( 15.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.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 patches adds the AUX callbacks for session structure. Signed-off-by: Leo Yan --- tools/perf/builtin-mem.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c index f3dc2d2b879c..87c6074e405e 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" @@ -405,8 +406,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", From patchwork Wed Oct 28 06:38:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862515 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2219C4363A for ; Wed, 28 Oct 2020 06:39:55 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3E88F22241 for ; Wed, 28 Oct 2020 06:39:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="HxWfFRcJ"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="EmUSZbBB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3E88F22241 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=T3lrTyJnzdKbTg+FzLdbpvgNzUSgyrOj4cjoJ9MtCJc=; b=HxWfFRcJ9S/Y0L0Y9KrL4ICyxG DDzrc1fGgIeck4w2qRL44bTQp+oWXGARuXR4xBap77iGeZ1f8UBMbR3xoNuGRM68K1zHeSSZvn6pB 2i+DOPinhCWoQVPK50DKJU4TvAV3Bf5EeuU64dvp09BwGjd7+/Zzdh5kAqnMwTuB4emClH/dSeE8V n+VNrO0OuNuSdu3+MY5xkZsVIbaak0af9M3/JUCNjc8aeIMhqKvRC9W35tJyFC3NfIC+uOaaEvb9m wMGAvU68zVMVy/NNjHOV0UtANRsteDFa2N2aCA4SepmZLfaKIU9ptC1HpE36ElkCMw/INDRKtUjBx EPLXMLwA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf78-0006i5-KA; Wed, 28 Oct 2020 06:39:19 +0000 Received: from mail-pf1-x442.google.com ([2607:f8b0:4864:20::442]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6m-0006Ym-KV for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:38:57 +0000 Received: by mail-pf1-x442.google.com with SMTP id w21so2346379pfc.7 for ; Tue, 27 Oct 2020 23:38:56 -0700 (PDT) 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=TtoZpQPYNEejbPx5DIZkp0HCaCd8AlDlHkvVw7KKz7s=; b=EmUSZbBBq3qB5Mwus42iZqe8GxEwp1uEPmc3rh0d08VKW7dNYFbbXiJB/HFD3MjHfe YmOLfn7p6YJbgtJDItJe+4AIcXxAQ8dZbcpR/uIHFnLgxL6OU14lI8Erdl22xskjJYPR sjt4g46k9A4dm0z0zMfLYoy3AhOq5FGBzfVcqwIRqCEGaRP0NCoxhvDkik8kd+Roq2PS b50fzrANkdmY5Mzh/m+mtzQXdx2c5gqtmuBbl3QUN2AIkSgSV8NsylsaBxh1+OwnANEt /aGTyD5T+FBwsW8A5NLbfXaB3KcI5ewXmhd2UzqO+JyqgXMA8YQrMFRVe/fDUtxC/ujz s9aA== 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=TtoZpQPYNEejbPx5DIZkp0HCaCd8AlDlHkvVw7KKz7s=; b=EdLNoghwQajBkTEB1y81OTtD6wXJI+fPdtkjFYGFK786JkvfP7YXf6pn8Yqmh3hyuE MII94M/fAg2V+agN71/oA+jDPbPFHmaFY1ucCs6BTHwmrkQZWE773wDLN3jg/lUPmPFN 9IRyCxiNIbAlow1YAbH51bpTARlb8TYHQUejLQUu9vfDbhZxd/65WXmWBpuROsehj0Dn KgNaWQQfTvXIM26ksAvc3TxteZxs41WlsC6zargeUQMgF4MpVlbxQK+5aFUabIDEWlnR jSPw6iIE4Ok3o0LE2G2sMFz6kbyP57rPRgGBtU5cLG5GEcT7z2HC+HkXcnKaJ0J/JSuS 1Nrg== X-Gm-Message-State: AOAM533Akfg4zhDk41wORPGsoCAs1BHo/O+tEAEUyrCPQtrQyiIYwbME iy+HmzZTh7PGGhdguGGDR6FE1Q== X-Google-Smtp-Source: ABdhPJxxyxLk24HyWV9VW6Mh3dKZzbyameM2F+tG8Rcvg2yewBTlfERd71FuCSUhz+lETr7EqPRmaQ== X-Received: by 2002:aa7:8bcd:0:b029:160:cb7:b639 with SMTP id s13-20020aa78bcd0000b02901600cb7b639mr5345218pfd.78.1603867134567; Tue, 27 Oct 2020 23:38:54 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id m13sm3938939pjl.45.2020.10.27.23.38.53 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:38:54 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 6/9] perf c2c: Support AUX trace Date: Wed, 28 Oct 2020 14:38:10 +0800 Message-Id: <20201028063813.8562-7-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023856_727797_DB5D1F40 X-CRM114-Status: GOOD ( 14.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patches adds the AUX callbacks in session structure, so support AUX trace for "perf c2c" tool. Signed-off-by: Leo Yan --- tools/perf/builtin-c2c.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c index 4d1a08e38233..24f4af997aab 100644 --- a/tools/perf/builtin-c2c.c +++ b/tools/perf/builtin-c2c.c @@ -369,6 +369,10 @@ static struct perf_c2c c2c = { .exit = perf_event__process_exit, .fork = perf_event__process_fork, .lost = perf_event__process_lost, + .attr = perf_event__process_attr, + .auxtrace_info = perf_event__process_auxtrace_info, + .auxtrace = perf_event__process_auxtrace, + .auxtrace_error = perf_event__process_auxtrace_error, .ordered_events = true, .ordering_requires_timestamps = true, }, From patchwork Wed Oct 28 06:38:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862519 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45CA1C4363A for ; Wed, 28 Oct 2020 06:41:12 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C333421775 for ; Wed, 28 Oct 2020 06:41:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="B0QIP3ov"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="HNcjK0/J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C333421775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BvBj0PQn+kiojT5Y0J+29vh/4xSVXsusXLt/g3a6ffY=; b=B0QIP3ovl2mpUSem2r+D9TKSIs iDPIfwMaT0EZV1w31IG8shWwa/tCaw3VjmXrN7uES4NWVHNhlMGcj08BCtoiTTKbFpa6HNLB+J0sY gU+NXeiPApWa2xzjakRv6XlNLF9W6GwOGUYhQlYL+49zxyUQKZZWa4nRzhMvmngXfsBdX047OcPFV k6xhdQe6UYVCwijC6pbcz5Yl9W/E0TLtwk+hFo8FfE0Dktij+r6Wc7R8r3pAMGMXSCDHuclgQNoNj RceltxiJM5J1ur8gWCA8YvuH2wJeRfvev5NQ/Oqgfywt51oyjXrfj26Mes+zpW1Nt6JyN2OG8sfQs SI6qKtYw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf7S-0006nG-42; Wed, 28 Oct 2020 06:39:38 +0000 Received: from mail-pj1-x1042.google.com ([2607:f8b0:4864:20::1042]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6r-0006ap-L2 for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:39:03 +0000 Received: by mail-pj1-x1042.google.com with SMTP id g19so857525pji.0 for ; Tue, 27 Oct 2020 23:39:01 -0700 (PDT) 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=o+aw422Im4Ichg/wUKoGWmj123l3key7lcjo++Bjumk=; b=HNcjK0/JO1L83CmLO+3wusD4wDLZ2IvDw84984aaq0z1bEIeFM3R6Tt9uDag/IG5es wD3N4rfHvJTZcA2pYTByCkjSHZlq8PdORvIbQXrJD5cWx3NMqCDNmpOqMPdBO+/FRAro /rDO1wGLvKR27M/L+lhtLV4Eeylyi/cQUj5Wgqoz04wCsnlN3fT1BHZ/9lJWsra6xrtr uLCx5TiF0alxQvBi4jUv0RWwHf8a8g3GD+soCzF00dyfg4hsEFvMEVDPy39IOhR9S7Yk 3vi69dnxH1H6f9fq9lmw2YZd9j5q7QL4Hamb6THL0c1v0T59RDQcU9QL6dgFuT20m/XS bgOg== 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=o+aw422Im4Ichg/wUKoGWmj123l3key7lcjo++Bjumk=; b=BFBvBN+oqv2pSjTbJuEvKoGrd37Y9qmuP7gM1sFXBGgx4fvzVyWCrPT0Tmd6Jv1X+7 pOMbxq5T6Dx3Fr6IQw/ACN0f1CewucdzlGh4eMCKQ4+ES9PvXyF3nxLCiNkJCWvzUwVz XK6zaQ1/G/tNHbUb3toTacKRlvOMdHiIE1+gTnlh5v2a4l6hrbVd9TvYgoHDYGGNsBuf HC8RT4fWEZZCLgGbqqr/7Gzrk2LHkZAARQMg8lxhbPfoKJRjaBELtUDVf+aLrIBTWfLe h9COwP357nJQZOQQNBh6VtPGP3eeF+6LSLZ9q/8KGpzzBGehG+yVIFBX2Mx1Lndxen3L uLcQ== X-Gm-Message-State: AOAM531WheQWBRXhxx3wGAi+9c3EitqvhwnMU2Bxk+FfDxajU2aAulA0 KKDnZNRb+6vDxm7kz77kmMctpA== X-Google-Smtp-Source: ABdhPJwCUyokVIcSdALfYMm5SQrRoMPAP//iqCaeYqnuCEprNvRQ5scEg9XRIDATk49FIblPyql0jQ== X-Received: by 2002:a17:902:8647:b029:d3:d448:98a8 with SMTP id y7-20020a1709028647b02900d3d44898a8mr6201014plt.29.1603867139483; Tue, 27 Oct 2020 23:38:59 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id n19sm4459819pfu.24.2020.10.27.23.38.58 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:38:58 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 7/9] perf mem: Support Arm SPE events Date: Wed, 28 Oct 2020 14:38:11 +0800 Message-Id: <20201028063813.8562-8-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023901_753983_256FF1F5 X-CRM114-Status: GOOD ( 20.27 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patch adds Arm SPE events for perf memory profiling: 'spe-load': event for only recording memory load ops; 'spe-store': event for only recording memory store ops; 'spe-ldst': event for recording memory load and store ops. Signed-off-by: Leo Yan --- tools/perf/arch/arm64/util/Build | 2 +- tools/perf/arch/arm64/util/mem-events.c | 37 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 tools/perf/arch/arm64/util/mem-events.c diff --git a/tools/perf/arch/arm64/util/Build b/tools/perf/arch/arm64/util/Build index b53294d74b01..cf6d7e799f33 100644 --- a/tools/perf/arch/arm64/util/Build +++ b/tools/perf/arch/arm64/util/Build @@ -9,4 +9,4 @@ perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o perf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \ ../../arm/util/auxtrace.o \ ../../arm/util/cs-etm.o \ - arm-spe.o + arm-spe.o mem-events.o diff --git a/tools/perf/arch/arm64/util/mem-events.c b/tools/perf/arch/arm64/util/mem-events.c new file mode 100644 index 000000000000..2a2497372671 --- /dev/null +++ b/tools/perf/arch/arm64/util/mem-events.c @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "map_symbol.h" +#include "mem-events.h" + +#define E(t, n, s) { .tag = t, .name = n, .sysfs_name = s } + +static struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX] = { + E("spe-load", "arm_spe_0/ts_enable=1,load_filter=1,store_filter=0,min_latency=%u/", "arm_spe_0"), + E("spe-store", "arm_spe_0/ts_enable=1,load_filter=0,store_filter=1/", "arm_spe_0"), + E("spe-ldst", "arm_spe_0/ts_enable=1,load_filter=1,store_filter=1,min_latency=%u/", "arm_spe_0"), +}; + +static char mem_ev_name[100]; + +struct perf_mem_event *perf_mem_events__ptr(int i) +{ + if (i >= PERF_MEM_EVENTS__MAX) + return NULL; + + return &perf_mem_events[i]; +} + +char *perf_mem_events__name(int i) +{ + struct perf_mem_event *e = perf_mem_events__ptr(i); + + if (i >= PERF_MEM_EVENTS__MAX) + return NULL; + + if (i == PERF_MEM_EVENTS__LOAD || i == PERF_MEM_EVENTS__LOAD_STORE) + scnprintf(mem_ev_name, sizeof(mem_ev_name), + e->name, perf_mem_events__loads_ldlat); + else /* PERF_MEM_EVENTS__STORE */ + scnprintf(mem_ev_name, sizeof(mem_ev_name), e->name); + + return mem_ev_name; +} From patchwork Wed Oct 28 06:38:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862513 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7AD9C4363A for ; Wed, 28 Oct 2020 06:40:15 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7053921775 for ; Wed, 28 Oct 2020 06:40:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="cevgvwcD"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="v3S+xmyH" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7053921775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6NTpVgvxXaRuxIO0FtSoMNVVIObjBoxH+M961fQfkbE=; b=cevgvwcDG2+v6Qc5usaqizhiH6 h/FyNj9Rf40kOKlUbiFKI7itxHZ/I30MYnRcyLZ/0+hHBoA+32W81QCZVLi1fm8j7kLH2Sph8hqVK UeDAEUJYCNmXw1IDMmnVXL2B9MK4ljsNxfKVnjiHnalFuyoNFylBv0hFkEQzw9E1F6Sma9F5AcYgo G371HufHSG9m+GXMtbL0vopnoQxMfDHIWo3pUC6qLbC63ncvQ3A8twps4vA7sN+Wjfa6rwKdMIe9k GCpxOiDF53Q3+UGgfotZDwlak482EovE2gP0K0AdZO3XvgUIylzA08dFYV6XKkt6Z/2wwADzRDSYf HV/lNT0w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf7b-0006tS-EE; Wed, 28 Oct 2020 06:39:47 +0000 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf6w-0006cl-Ep for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:39:07 +0000 Received: by mail-pg1-x543.google.com with SMTP id t14so2211058pgg.1 for ; Tue, 27 Oct 2020 23:39:06 -0700 (PDT) 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=8NFetcbnPvpRRyVvaPr4tQ5pZ0QFIkTHNVbsIdXXM68=; b=v3S+xmyHFalHLvIc4JebFYwylpnozJJAQhYlcsklusQ8+5gn4Zun+W4ewtlvrNp+tt B4sWgwVbqHZXXp8QnI5P1go2jezZoLYJJNNNkA1gASVoLojkMqDxq8VltO6soTULTgHg RZWdbOAzqre8o1qsUXiP60USNOuSIFRlEd7LsSwYFId6coG2Sxvw0rIVDX65EwDwweTN Bq2O4POg7HMBjJaMs2U2fIqFQwS2IOOiisXpElZCCOfSPxOSBBfH1fg17bL5PDry0Boy j9R+zSfzRHWo4N/SR85Udxhjs1Hk0gzAsDrVjRa80hGxyF6JhRRDn/XFgxcrIPe644dk r7zQ== 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=8NFetcbnPvpRRyVvaPr4tQ5pZ0QFIkTHNVbsIdXXM68=; b=nk8GDP5ZNBoqwmFN0UbSV3Lz3UJJAlcwcyyUxldCx7ppbfMbINxwqeCp8aYe5mVL/W cd7SjQPrQtxG8ZomjdSVt65C9yqKT6nG0YTBa+XDiYwtf9LMVebuw8Nra5RKrL6otYsA 2KHXXb3AL+NhL4dySk2TNzS0K+5METFuiOLyKr41jeAJXGo/fTrwQa2BFXyayk5C0/xL S9F2nSibepviqyRSb8+VYMDey+a6fSEYhzVTIV9XBh6d+pqhaHC7WIzWoR9YENvqy/DF h6XW7N5lA4Egj1+mJmHQLZ/VyYN7d5YmZTBB9Zd13dlkyfCKzBHhJodpyBdbiLiKVRGT cZOA== X-Gm-Message-State: AOAM531dMVqrjW2prgni+bKNKlUBMoG6zjlAXX7GVjYEzWrE3Pfxm38H /VEp5+3SYN+TUYxYV92FEodBIQ== X-Google-Smtp-Source: ABdhPJx+q8fuTwvlzmIAtpvjelU7lqkYbb0WVNeDXjn7nqnlJtkRULq1wn+BLgjlmB5hrhf89AV6zQ== X-Received: by 2002:a63:774e:: with SMTP id s75mr5116141pgc.336.1603867144360; Tue, 27 Oct 2020 23:39:04 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id b16sm4545286pfp.195.2020.10.27.23.39.03 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:39:03 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 8/9] perf mem: Return NULL for event 'ldst' on PowerPC Date: Wed, 28 Oct 2020 14:38:12 +0800 Message-Id: <20201028063813.8562-9-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023906_586527_1C0146E2 X-CRM114-Status: GOOD ( 15.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org If user specifies event type "ldst", PowerPC's perf_mem_events__name() will wrongly return the store event name "cpu/mem-stores/". This patch changes to return NULL for the event "ldst" on PowerPC. Signed-off-by: Leo Yan --- tools/perf/arch/powerpc/util/mem-events.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/perf/arch/powerpc/util/mem-events.c b/tools/perf/arch/powerpc/util/mem-events.c index 07fb5e049488..90c5a0760685 100644 --- a/tools/perf/arch/powerpc/util/mem-events.c +++ b/tools/perf/arch/powerpc/util/mem-events.c @@ -7,6 +7,8 @@ char *perf_mem_events__name(int i) { if (i == PERF_MEM_EVENTS__LOAD) return (char *) "cpu/mem-loads/"; - - return (char *) "cpu/mem-stores/"; + else if (i == PERF_MEM_EVENTS__STORE) + return (char *) "cpu/mem-stores/"; + else + return NULL; } From patchwork Wed Oct 28 06:38:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 11862525 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05C27C4363A for ; Wed, 28 Oct 2020 06:41:19 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7FA2E21775 for ; Wed, 28 Oct 2020 06:41:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="vGjp4rlY"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="nbHmMt5O" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7FA2E21775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=S4pB3Qs+m1IuR60eyJvWEjymZqm3ZxO0xrBSZl76fjw=; b=vGjp4rlY5qQuqy6TcuHsQBCqEi RKWBnChIKh+XDUyo0I9+FCwLjNxniAFssCaoF593z2Re20OkD/aENPDAJU0T3mXPlxcMcINKD0kSY JKqr6nt3+zY5QmF3MgbabtRMcxF1xW3t9bapu9yPQ1CvKAP7OBwBE/7nh255VIst1rnC+9MqnBW5Z 61KhEZWVeFHbCgTx5hAPAK41wTKO0Wl+Cc/Kkut+83H867CA9nEDtT4gUZlsNyd4eRy2x3y+2f/bw TeJ5N4Y17MvMKHclcoNI1Pdxb+waoxXSApHCW5t11JcfDUnAUIXxvBi85DAs7Zau0KTlruE2AzbL9 1IifMjbw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf7g-0006vU-3C; Wed, 28 Oct 2020 06:39:52 +0000 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXf71-0006eg-4n for linux-arm-kernel@lists.infradead.org; Wed, 28 Oct 2020 06:39:12 +0000 Received: by mail-pj1-x1041.google.com with SMTP id m17so1112289pjz.3 for ; Tue, 27 Oct 2020 23:39:10 -0700 (PDT) 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=w3jvPkaI6Fvufscz5TOGN3cMyWxi/xK+/XekPoieKuM=; b=nbHmMt5Ofz7dpI4oVG8er172WLWhYn3iy87HwpWDGZroHblR40SYYb12GE6tOGhAYL VUsDndG8Qeikh/AigBMf6S9lz43v38jUqnkrO4GROlXKjIVbQ/J5FzQedEKVUq27kRjB uMY1Ne8mSFyap/KOnSR8/cYkvXw4YIZznl/wRfierXV+0B7r97oT9Jws8fK32ljjJZup a9l+E0uarqBeTPRnqC6H9/ncEibZqRZyYaA2j1JBVzdSeV/D+xTdxMd1AnyTJCZ+w1c5 orxLgmLdaoKE6ONBlyyjsiCHFV4ZKpRl/zFxb6i4MA5pnulZNJafWq81G/qKne6tXBhn ZkLQ== 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=w3jvPkaI6Fvufscz5TOGN3cMyWxi/xK+/XekPoieKuM=; b=nJHFq9XTplbIoewL3qnyG2E+pFX+PsK7Uf9jP0YsztxaWVSFSGuXUsDBgemb5YFmof V9FArn1wMaHz+nWjAeRSgpZAf0wHBqjBBEZGciEdIt4UQY/h5M0bREYwaetb4KnV2UJ/ spmnGqm0DuJqH0EWLU969LNmr/8Ycb1xTHqVO340YmTF9DhvDBBg7DtOg8PNGP/WWiz+ Qq7BcBkwtJmCmiUXY6jfKDKSrv+hv0ZSkryn+nr7InXkJv1RvNdLqihvoNb5GUfQi33y ikRFxZ4YCBaDDoTu7zHlh4ZLgrtPS9PPdzCa0kKMFe6bavJShC8FHX8LNVHoIAoR/HWf m7Zg== X-Gm-Message-State: AOAM533/why8qfBHUp9A2mK3GMVP3rvZEOUGsp6tbGzApJD3PbBnQIuP Y+vVGp0lzyJUDCvk2aUeUigXKA== X-Google-Smtp-Source: ABdhPJweHXefCoW8ZQA9mpLM4Yu8KeZfkGcFKKE2c8zmiq39SmIfmF+GSWMPp9wmAlimk0jqQYHJnQ== X-Received: by 2002:a17:902:16b:b029:d6:7a92:451a with SMTP id 98-20020a170902016bb02900d67a92451amr32383plb.85.1603867149280; Tue, 27 Oct 2020 23:39:09 -0700 (PDT) Received: from localhost ([2600:3c01::f03c:91ff:fe8a:bb03]) by smtp.gmail.com with ESMTPSA id i123sm4324281pfc.13.2020.10.27.23.39.08 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Oct 2020 23:39:08 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , John Garry , Will Deacon , Mathieu Poirier , Kemeng Shi , "Naveen N. Rao" , Ian Rogers , Al Grant , James Clark , Wei Li , =?utf-8?q?Andr=C3=A9_Przywara?= , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 9/9] perf mem: Document event type 'ldst' Date: Wed, 28 Oct 2020 14:38:13 +0800 Message-Id: <20201028063813.8562-10-leo.yan@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201028063813.8562-1-leo.yan@linaro.org> References: <20201028063813.8562-1-leo.yan@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201028_023911_259506_E5C396C7 X-CRM114-Status: GOOD ( 15.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The event type 'ldst' is added for recording both load and store memory operations, this patch documents for the new event type. Signed-off-by: Leo Yan --- tools/perf/Documentation/perf-mem.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/perf/Documentation/perf-mem.txt b/tools/perf/Documentation/perf-mem.txt index 199ea0f0a6c0..c50ef37dba72 100644 --- a/tools/perf/Documentation/perf-mem.txt +++ b/tools/perf/Documentation/perf-mem.txt @@ -38,7 +38,11 @@ OPTIONS -t:: --type=:: - Select the memory operation type: load or store (default: load,store) + Select the memory operation type: load, store, ldst (default: load,store). + The type 'ldst' means the single event can record both for load and store + operations; Intel and PowerPC support the types 'load' and 'store' but + 'ldst' cannot be used; on Arm64, it uses Arm SPE as memory events and + user needs to specify one of these three types. -D:: --dump-raw-samples::