From patchwork Thu Apr 29 15:00:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12231445 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=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable 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 4C5EFC43460 for ; Thu, 29 Apr 2021 15:03:15 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 A744961441 for ; Thu, 29 Apr 2021 15:03:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A744961441 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=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Yvdgqg4mzz86Red6Yl86BX6rRpltdfCjZGhQ4oh9uQ8=; b=cia17rV/lKgYruzaJ7HGV9VFt Xu7r01HHsejisbtnclLRThsC8JAcGg9GHwv2sGahpea7eMOcKLNhd7nUHwFDQqMMkguB188dhnCGT MhYyUIb7qd1e4uywPt+u4WqmsFZEXwyIRJCaLAErw6aUwaxaN8iGVlRnVuacwIjOEVOns6EbgC56a adbdCW0Y612t616z76kpWl5M2Bk1UlJgWGvVItRhT3VMVO+hk7A6RpFHgTEJAxHsFibIL9ZlnHDT4 6kQ59s7R0Dwx/X/7V45jh9ZWhoQWuXGgU1phdxjEBDAj0Iil8IJzWQd8nzji0Q96jHkjucUiFsW/Q oLslllqcg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lc8Ad-005sYa-2e; Thu, 29 Apr 2021 15:01:39 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lc8AK-005sWV-0U for linux-arm-kernel@desiato.infradead.org; Thu, 29 Apr 2021 15:01:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=kKALg3mdCIPQXLNAB5VYdkufEFOWrU4WkUMpgl9QzUE=; b=mawdLVnmgQbFD/PQB6d2vYFAJg wI433pPGyQrEGVuh5zD1frWRGVMnnWyZ/O+ci5VzrlSUxQUrWoxieDLD4c7QB43Dc/Pw5ehV+X7ti 9x9CxC/w2OsFQAs/GSVIY1GYUyuuh5VfVvpsN1YEkcgoBuJb+Ha6sD40Pq6+AVlGNM7TNxFs1bRU7 n0PR30uMcE61b1sY2TJADH/EQ0cFuoL/Uw0/Y9aIW1qdCnOEYG3CTOYSJCHWExfrhLlNxoPQ4M9Fx 852MXZSrSIyofFGAErAL6A+QPc697er/S/F/313sD8iGPKTZhn37ZTt5NijD1Xc3uj9Hw0VxsV3p3 aIaIsXCA==; Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lc8AH-000i3R-Ef for linux-arm-kernel@lists.infradead.org; Thu, 29 Apr 2021 15:01:18 +0000 Received: by mail-pf1-x431.google.com with SMTP id d124so3500703pfa.13 for ; Thu, 29 Apr 2021 08:01:16 -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 :mime-version:content-transfer-encoding; bh=kKALg3mdCIPQXLNAB5VYdkufEFOWrU4WkUMpgl9QzUE=; b=Iz9sOTAaVV/ExNsgTbz8EJRpo7emfPqpNUJOUagetQg1r5WM58iT155wkgu3nZLaXU /on+JnGNm6L0urdVJY30uVWupmNFeOXJ1tGMsEayPSQkDUe7V6QpOJdrB14AomSEZc6Q p9Mus2luS1g2ZJOpFA+Qtuw1LJAgoODKQi5BlABbmAWRSE1FxHOm44VdnFRvC7tIPY2e if3WtfID6mzd6309I/ShyyJAYSwIK6w2u3Rgpa494ulJOci78eQU27cpm7H8lRBq3fkM ckhJh095HbhLJZGnlHxBsn1evO+IV5CzfO0q5+YpFJ+2sIFu1ieeGwx92JRQC0ipTUtR 2fDw== 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:mime-version:content-transfer-encoding; bh=kKALg3mdCIPQXLNAB5VYdkufEFOWrU4WkUMpgl9QzUE=; b=aejJYxowTSiZ4RYfRb+ri0uoZ6wxvGNUcmdBE8Ra45kMfdAdvAL4OATDg/I8Ld00n3 TK1XqVDR7uxbGlOvhf7UbsWGDvoFVFKjIBX21colCF4NA83UBQFpEmHAuEJRr1eze+Iy QhoZhpC6p6i+puxaWYdStwTjz+/NRkhqGj5U+2It/nEAG/XYvYpQEp6lDXZQHgy6cx43 97v7C+mbYcha+OwlGiNcRors+BLgRTWlz1EVVL2sE2wbYT3AluIT+e/W7e8fjpQ90ciL diJzkxbfiUGu43/Dc0OO7x7w/NAYFvqalm3bU2h74Fb3iOhpnvyWvFfFmJJEib8GYWS2 hUWQ== X-Gm-Message-State: AOAM5326LdzPOPlpKLLTZNpc4Ogd4ktMDKQo2w/CxGMEWamgnv/cxxCB /bXSDud8tPx1IUmgH/yUyHlStw== X-Google-Smtp-Source: ABdhPJwul8+2yIAI7+lC44DnHk4W6dca44WS0deVPwTk2JwaNCFtRQMzn1H07FIdZa/rX1sk6E9DsA== X-Received: by 2002:aa7:84d0:0:b029:27d:fff:40c9 with SMTP id x16-20020aa784d00000b029027d0fff40c9mr110903pfn.7.1619708476222; Thu, 29 Apr 2021 08:01:16 -0700 (PDT) Received: from localhost ([204.124.180.30]) by smtp.gmail.com with ESMTPSA id q5sm2747191pfu.5.2021.04.29.08.01.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Apr 2021 08:01:15 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , James Clark , John Garry , Will Deacon , Mathieu Poirier , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Al Grant Cc: Leo Yan Subject: [PATCH v1 2/3] perf arm-spe: Correct sample flags for dummy event Date: Thu, 29 Apr 2021 23:00:59 +0800 Message-Id: <20210429150100.282180-3-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210429150100.282180-1-leo.yan@linaro.org> References: <20210429150100.282180-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210429_080117_497146_71E4FFBE X-CRM114-Status: GOOD ( 17.70 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The dummy event is mainly used for mmap, the TIME sample is only needed for per-cpu case so that the perf tool can rely on the correct timing for parsing symbols. And the CPU sample is useless for mmap. This patch enables TIME sample for per-cpu mmap and doesn't enable CPU sample. For later extension (e.g. support multiple AUX events), it sets the dummy event when the condition "opts->full_auxtrace" is true. Signed-off-by: Leo Yan Reviewed-by: James Clark Tested-by: James Clark --- tools/perf/arch/arm64/util/arm-spe.c | 30 ++++++++++++++++------------ 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/tools/perf/arch/arm64/util/arm-spe.c b/tools/perf/arch/arm64/util/arm-spe.c index 902e73a64184..f6eec0900604 100644 --- a/tools/perf/arch/arm64/util/arm-spe.c +++ b/tools/perf/arch/arm64/util/arm-spe.c @@ -70,7 +70,6 @@ static int arm_spe_recording_options(struct auxtrace_record *itr, struct evsel *evsel, *arm_spe_evsel = NULL; struct perf_cpu_map *cpus = evlist->core.cpus; bool privileged = perf_event_paranoid_check(-1); - struct evsel *tracking_evsel; int err; sper->evlist = evlist; @@ -126,18 +125,23 @@ static int arm_spe_recording_options(struct auxtrace_record *itr, evsel__set_sample_bit(arm_spe_evsel, CPU); /* Add dummy event to keep tracking */ - err = parse_events(evlist, "dummy:u", NULL); - if (err) - return err; - - tracking_evsel = evlist__last(evlist); - evlist__set_tracking_event(evlist, tracking_evsel); - - tracking_evsel->core.attr.freq = 0; - tracking_evsel->core.attr.sample_period = 1; - evsel__set_sample_bit(tracking_evsel, TIME); - evsel__set_sample_bit(tracking_evsel, CPU); - evsel__reset_sample_bit(tracking_evsel, BRANCH_STACK); + if (opts->full_auxtrace) { + struct evsel *tracking_evsel; + + err = parse_events(evlist, "dummy:u", NULL); + if (err) + return err; + + tracking_evsel = evlist__last(evlist); + evlist__set_tracking_event(evlist, tracking_evsel); + + tracking_evsel->core.attr.freq = 0; + tracking_evsel->core.attr.sample_period = 1; + + /* In per-cpu case, always need the time of mmap events etc */ + if (!perf_cpu_map__empty(cpus)) + evsel__set_sample_bit(tracking_evsel, TIME); + } return 0; }