From nobody Sun Feb 8 15:37:23 2026 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41C201BE86E for ; Tue, 24 Dec 2024 10:44:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037081; cv=none; b=HPm89VHbWX/egeGw9we+oXKKv8c7kAqasB2y2knXMvz73dqVRj3fCk5ygZQ3sHx3xx6TacijMzCORjqZQETlmhI3aQzreCN2iLDY7mR/juVvlwbaljL9aVZ051xs5zFHhAQEQvw//29at3cwNVJR6SBrI8mdR3W1Yt1IsvIzrdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037081; c=relaxed/simple; bh=yePtXUNb/r1DdBXxhuOfkHvg5tUlHsFB+j5qY2RIjQk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=U/dcKJTl1ZiXlbOBrhlQ/A90fc1t0SC4uy7FjDV7m3g2jHDyh42JNFpN0DYRawkkTIPodLpBQ8jaLmwGk/Lvi2wHG1DgtQAEBPTuHmE+mU3MORcbS+d0oSXS5mUYJrv+9mXtlfqV6DtXD9K5NT45uhyxutXSB+PSg809HvPJL6g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=IxuGCt3D; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IxuGCt3D" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-385ddcfc97bso4329499f8f.1 for ; Tue, 24 Dec 2024 02:44:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1735037077; x=1735641877; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zHAl/iVdRpFZ4l6Mby+FrJoyVvI8kLZuzTqR3xsa9gY=; b=IxuGCt3Dft/VHOLVlwvTCINTchX00rrdcGBrraTBOfGlRKdSlaSWRh5wFq4rd07AuZ VYr6Nh7j9XPRcy3908huWVbY1T60dNzv9CcB/uU0DCfeNClGKUmOdpDcY9XfgcPajNPp fpLrci69bvlmeaNTE8BusNeLBMm50I0LMqxT0NH4TvK74S8eolRIuVhZ7k/3YdRhxHwm l7H2JnjrL59I4sooz+7AOQUuTODecDO9VbeIhahhBVETfcE5ikDmu9UDYIBvAG1OflqE wr4ULejftyyXi7p5GbT3KxViGuLmXLaYeu1ToVuHzDExiLKq8Y9mJhAXHNX+EmGWmyiw qXqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735037077; x=1735641877; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zHAl/iVdRpFZ4l6Mby+FrJoyVvI8kLZuzTqR3xsa9gY=; b=fCEk0rxzA0Jiea8Wd1W0ywAIYR6kVyHgiCELKcIldHnXdutrU9LUytzDbqZLQhExNy 7dUSHAyypkvRrcnsacTz6JLdBbgMeF9xP/UveR1zw3Z90cBaSzNhSesJ7FoHUsjyxEBO 7sQslz+6gU06lwtrG9jJLyjbiAILC/TOV93cpjssOHL56V5YtWRKeU0mhsklVZMM1l2R uAukRlGaDKeY6vc1uCiQhLRQ0O10akcfnfyE2qpbU89oE5ncZYXelS1uy6i6867WQKsL EnJaDYFxFIJc/QKHrAmPhdR8ds+IYYYN+DLCxX4xfBMRCefE+kXht42PL0YU9DHXMbtj wq5w== X-Forwarded-Encrypted: i=1; AJvYcCWORI3nHSF0Bf0oz94sUm8LDZSEHmB00iRWxbwe6Ut9HOjW4cNrZryNmEpfprDjoTQVdqFuglwJK+5bHzU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8zQGO+Z61g/5d3epkM0mNGrfU8Bxkj4vE+nNrEpKfqj/nf6po l8pd1rtgMfXUsYMs8yyOuaXNLd/4o96PRuV6uz4Q7bN99Pbdq+GpZpoTimlIFXU= X-Gm-Gg: ASbGncuHJPUT/Fx0+jsdiSqSp8f43ItqypXBY9Z+bJrULp10RWCUvQGKjSi1KIDkxUx h9ZNzQtWLwHWS8VPsaMZYc/AFuXljs76D+ol5s0i2qKrwbfPeMk2+6DAkPcoVuSKRFk1s5Hms1S IpT8WysFB7obHP19c9DI7UAjdmxUSKub6lYIRSiMF/4wGspBKxLjTT9FUgq236x7XM8PIM6QbEM f3Nkr5HLzwPt+BcYbCl1tNMbGUwMHRPnBHCqwj3Tdwny5ZhcLWQbv0= X-Google-Smtp-Source: AGHT+IH7n+am9veH0sjuso0VQt6cOhLb48Ywipt9+tQpA2guKm2WC+9l0VoxKlK8wBiZB7S6GwshiQ== X-Received: by 2002:a05:6000:154f:b0:385:eeb9:a5bb with SMTP id ffacd0b85a97d-38a221f698amr13901717f8f.17.1735037077544; Tue, 24 Dec 2024 02:44:37 -0800 (PST) Received: from pop-os.. ([145.224.66.70]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a1c847714sm13938184f8f.54.2024.12.24.02.44.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Dec 2024 02:44:37 -0800 (PST) From: James Clark To: linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, irogers@google.com, yeoreum.yun@arm.com, will@kernel.org, mark.rutland@arm.com Cc: robh@kernel.org, James Clark , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Alexander Shishkin , Jiri Olsa , Adrian Hunter , "Liang, Kan" , John Garry , Mike Leach , Leo Yan , Graham Woodward , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH v2 1/5] perf: arm_spe: Add format option for discard mode Date: Tue, 24 Dec 2024 10:44:08 +0000 Message-Id: <20241224104414.179365-2-james.clark@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241224104414.179365-1-james.clark@linaro.org> References: <20241224104414.179365-1-james.clark@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" FEAT_SPEv1p2 (optional from Armv8.6) adds a discard mode that allows all SPE data to be discarded rather than written to memory. Add a format bit for this mode. If the mode isn't supported, the format bit isn't published and attempts to use it will result in -EOPNOTSUPP. Allocating an aux buffer is still allowed even though it won't be written to so that old tools continue to work, but updated tools can choose to skip this step. Reviewed-by: Yeoreum Yun Signed-off-by: James Clark --- drivers/perf/arm_spe_pmu.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c index fd5b78732603..9aaf3f98e6f5 100644 --- a/drivers/perf/arm_spe_pmu.c +++ b/drivers/perf/arm_spe_pmu.c @@ -193,6 +193,9 @@ static const struct attribute_group arm_spe_pmu_cap_gro= up =3D { #define ATTR_CFG_FLD_store_filter_CFG config /* PMSFCR_EL1.ST */ #define ATTR_CFG_FLD_store_filter_LO 34 #define ATTR_CFG_FLD_store_filter_HI 34 +#define ATTR_CFG_FLD_discard_CFG config /* PMBLIMITR_EL1.FM =3D DISCARD */ +#define ATTR_CFG_FLD_discard_LO 35 +#define ATTR_CFG_FLD_discard_HI 35 =20 #define ATTR_CFG_FLD_event_filter_CFG config1 /* PMSEVFR_EL1 */ #define ATTR_CFG_FLD_event_filter_LO 0 @@ -216,6 +219,7 @@ GEN_PMU_FORMAT_ATTR(store_filter); GEN_PMU_FORMAT_ATTR(event_filter); GEN_PMU_FORMAT_ATTR(inv_event_filter); GEN_PMU_FORMAT_ATTR(min_latency); +GEN_PMU_FORMAT_ATTR(discard); =20 static struct attribute *arm_spe_pmu_formats_attr[] =3D { &format_attr_ts_enable.attr, @@ -228,9 +232,15 @@ static struct attribute *arm_spe_pmu_formats_attr[] = =3D { &format_attr_event_filter.attr, &format_attr_inv_event_filter.attr, &format_attr_min_latency.attr, + &format_attr_discard.attr, NULL, }; =20 +static bool discard_unsupported(struct arm_spe_pmu *spe_pmu) +{ + return spe_pmu->pmsver < ID_AA64DFR0_EL1_PMSVer_V1P2; +} + static umode_t arm_spe_pmu_format_attr_is_visible(struct kobject *kobj, struct attribute *attr, int unused) @@ -238,6 +248,9 @@ static umode_t arm_spe_pmu_format_attr_is_visible(struc= t kobject *kobj, struct device *dev =3D kobj_to_dev(kobj); struct arm_spe_pmu *spe_pmu =3D dev_get_drvdata(dev); =20 + if (attr =3D=3D &format_attr_discard.attr && discard_unsupported(spe_pmu)) + return 0; + if (attr =3D=3D &format_attr_inv_event_filter.attr && !(spe_pmu->features= & SPE_PMU_FEAT_INV_FILT_EVT)) return 0; =20 @@ -502,6 +515,12 @@ static void arm_spe_perf_aux_output_begin(struct perf_= output_handle *handle, u64 base, limit; struct arm_spe_pmu_buf *buf; =20 + if (ATTR_CFG_GET_FLD(&event->attr, discard)) { + limit =3D FIELD_PREP(PMBLIMITR_EL1_FM, PMBLIMITR_EL1_FM_DISCARD); + limit |=3D PMBLIMITR_EL1_E; + goto out_write_limit; + } + /* Start a new aux session */ buf =3D perf_aux_output_begin(handle, event); if (!buf) { @@ -743,6 +762,10 @@ static int arm_spe_pmu_event_init(struct perf_event *e= vent) !(spe_pmu->features & SPE_PMU_FEAT_FILT_LAT)) return -EOPNOTSUPP; =20 + if (ATTR_CFG_GET_FLD(&event->attr, discard) && + discard_unsupported(spe_pmu)) + return -EOPNOTSUPP; + set_spe_event_has_cx(event); reg =3D arm_spe_event_to_pmscr(event); if (reg & (PMSCR_EL1_PA | PMSCR_EL1_PCT)) --=20 2.34.1 From nobody Sun Feb 8 15:37:23 2026 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F4AE1C3F01 for ; Tue, 24 Dec 2024 10:44:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037085; cv=none; b=YwFX+TsTSairtSkD4IMDMxt92V2enOutDCT1AtEh8F/w06EKvzsVOhx4Wbd54c1ByfKbvrf3bV6xuEJmizT6X4JwcLJFzaJ8YpsppxkAdN5yc1MZ3dICsJr0j4eyBMq0ldouOneo0pUKOSkfd/lI8qMoAQygEy00BLs05WNv3eE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037085; c=relaxed/simple; bh=qhgx69uA8IiIJxSynCovT2xN+mUPia675m5YqlCbHk4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VWF0QEhlhNQfOg/4sL4cJfrH2nzZGm8JAuFKSIrQQ+pZ4nysVjiPPEkeBpwKFE4sSM87BapbC/Mwl5ae2zrtc/7/HP9p1QARtFju3EYy9oEl930N9YV+sTdB/+prbALX3zK8u8vEnqWCLY8Pc2fEsWW7JKdWPdafp4SqG/Z1tzo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Fj+jo9AR; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Fj+jo9AR" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-385eed29d17so2451047f8f.0 for ; Tue, 24 Dec 2024 02:44:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1735037081; x=1735641881; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=I2Qn39K4UzsLsLGtfNH0/R87UIS/L19Vs2Fn7/eQxwo=; b=Fj+jo9AR56Ge6LtIX4cQQPclPJphfaJSE3CgAURjchgW4dgpbfMi7P0XJq7CBiGPpL Le5t6AfOLtBndvCCblsP9xceK4niIvaBXe2/MUEKiteNXewfNpRHrQXBpUJMeG0RckU+ 7GzxWekImDqRqo6XV/oPgjFEKCgKP0X5atxdHqHD2nHNBdEo3wvIV0LJ4HndjtCfzqxP bS/0vie2oblVpKXeQ7yrwqPLduKr7GEDwT03vdrK+XryenEUz2CCUpJF+dwZCxBVGC7G 57jYN07X6xROOgBOYdpsqQFc0OsZDKkMDX1Kthxj096V7nnb8djJh87RPY9p3QhA2OnE zGxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735037082; x=1735641882; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=I2Qn39K4UzsLsLGtfNH0/R87UIS/L19Vs2Fn7/eQxwo=; b=owiqi7UJbn8gZg3Vrlq8pjXLxxLx0T8eSsxRPq48vQnUbANpn2oNbrHqq6BH6tqXDn Exq6UmGDF6iL8c36yh8fdVqudu9PHdJ7g3Tbw3XPLDkLDgDrhBfEwv1+4Kzq9RXM+XU9 +xKpPkC9qEliV+jH60daIs6wqY17QBSIX2EUbeWaJfZ35tPM+DQVObEXwbKijiKk42al y1OXjodMolFZrWNDwPNiv+0tXDXHvBOLVmvKWoTdePJmDKIG9k37/O3zEqn1YM1qsNHl foy8CpOv7Cmvr2CCOVRSLvOuaXU1x6iFI1XESGO+dvpN42v0WhNC+0B+ai2bWMiW0HPb qqjA== X-Forwarded-Encrypted: i=1; AJvYcCVyt6G5IpFsJPwQ8p+7Bxip/3dc3Z2JYVbJ3cPMBjgwHWA1VQXsIT5Q7XO1ixeZW2/XsvXTGxgif7EAJm8=@vger.kernel.org X-Gm-Message-State: AOJu0YxBHj1jQIa7+DQqMLGBJE6y0Q/MIZEotcB89j+DpXQES1jhI0XE qP3GcrY+LsDE5aGeWedSktsSRB1c2uGueoLHj8cSflUR6AKzzSKRHAvJXJoS+Yg= X-Gm-Gg: ASbGnctCpk4Qk7V6YpLF3Vb7GkUGcaJw6fN50cV8VHo0MD6VTCVD0oYD15nhH4rYu1V 1cpWAW25Pkb+VU/kDaU0Mo2tDWw/UW7NKoRSSErV3tW/EHMj0N/8QvytTRnl0kGmyZsJVBmM81T HUAHWow1QC8hU3olcMZC/4P6bq9V4PWOMui/7yV6LZOLxlYADbpi1dv65DtCc0WAhxLToDROaKS 8GAocNwQC6hQXi4NepGp8t5GCjCG9+9f+xJCHW2oftkoYWk2jhzO0I= X-Google-Smtp-Source: AGHT+IEPwGkn3TrrCW7UYR3VV36eBnjzsw1wNAbjqFQScWTBytZf17+BoI5sSqfPq7qT3qahHgFAcw== X-Received: by 2002:a05:6000:184e:b0:385:ed1e:2105 with SMTP id ffacd0b85a97d-38a221f2f0cmr14225299f8f.26.1735037081570; Tue, 24 Dec 2024 02:44:41 -0800 (PST) Received: from pop-os.. ([145.224.66.70]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a1c847714sm13938184f8f.54.2024.12.24.02.44.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Dec 2024 02:44:41 -0800 (PST) From: James Clark To: linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, irogers@google.com, yeoreum.yun@arm.com, will@kernel.org, mark.rutland@arm.com Cc: robh@kernel.org, James Clark , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Alexander Shishkin , Jiri Olsa , Adrian Hunter , "Liang, Kan" , John Garry , Mike Leach , Leo Yan , Graham Woodward , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH v2 2/5] perf tool: arm-spe: Pull out functions for aux buffer and tracking setup Date: Tue, 24 Dec 2024 10:44:09 +0000 Message-Id: <20241224104414.179365-3-james.clark@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241224104414.179365-1-james.clark@linaro.org> References: <20241224104414.179365-1-james.clark@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" These won't be used in the next commit in discard mode, so put them in their own functions. No functional changes intended. Reviewed-by: Yeoreum Yun Signed-off-by: James Clark --- tools/perf/arch/arm64/util/arm-spe.c | 83 +++++++++++++++++----------- 1 file changed, 51 insertions(+), 32 deletions(-) diff --git a/tools/perf/arch/arm64/util/arm-spe.c b/tools/perf/arch/arm64/u= til/arm-spe.c index 22b19dcc6beb..1b543855f206 100644 --- a/tools/perf/arch/arm64/util/arm-spe.c +++ b/tools/perf/arch/arm64/util/arm-spe.c @@ -274,33 +274,9 @@ static void arm_spe_setup_evsel(struct evsel *evsel, s= truct perf_cpu_map *cpus) evsel__set_sample_bit(evsel, PHYS_ADDR); } =20 -static int arm_spe_recording_options(struct auxtrace_record *itr, - struct evlist *evlist, - struct record_opts *opts) +static int arm_spe_setup_aux_buffer(struct record_opts *opts) { - struct arm_spe_recording *sper =3D - container_of(itr, struct arm_spe_recording, itr); - struct evsel *evsel, *tmp; - struct perf_cpu_map *cpus =3D evlist->core.user_requested_cpus; bool privileged =3D perf_event_paranoid_check(-1); - struct evsel *tracking_evsel; - int err; - - sper->evlist =3D evlist; - - evlist__for_each_entry(evlist, evsel) { - if (evsel__is_aux_event(evsel)) { - if (!strstarts(evsel->pmu->name, ARM_SPE_PMU_NAME)) { - pr_err("Found unexpected auxtrace event: %s\n", - evsel->pmu->name); - return -EINVAL; - } - opts->full_auxtrace =3D true; - } - } - - if (!opts->full_auxtrace) - return 0; =20 /* * we are in snapshot mode. @@ -330,6 +306,9 @@ static int arm_spe_recording_options(struct auxtrace_re= cord *itr, pr_err("Failed to calculate default snapshot size and/or AUX area traci= ng mmap pages\n"); return -EINVAL; } + + pr_debug2("%sx snapshot size: %zu\n", ARM_SPE_PMU_NAME, + opts->auxtrace_snapshot_size); } =20 /* We are in full trace mode but '-m,xyz' wasn't specified */ @@ -355,14 +334,15 @@ static int arm_spe_recording_options(struct auxtrace_= record *itr, } } =20 - if (opts->auxtrace_snapshot_mode) - pr_debug2("%sx snapshot size: %zu\n", ARM_SPE_PMU_NAME, - opts->auxtrace_snapshot_size); + return 0; +} =20 - evlist__for_each_entry_safe(evlist, tmp, evsel) { - if (evsel__is_aux_event(evsel)) - arm_spe_setup_evsel(evsel, cpus); - } +static int arm_spe_setup_tracking_event(struct evlist *evlist, + struct record_opts *opts) +{ + int err; + struct evsel *tracking_evsel; + struct perf_cpu_map *cpus =3D evlist->core.user_requested_cpus; =20 /* Add dummy event to keep tracking */ err =3D parse_event(evlist, "dummy:u"); @@ -388,6 +368,45 @@ static int arm_spe_recording_options(struct auxtrace_r= ecord *itr, return 0; } =20 +static int arm_spe_recording_options(struct auxtrace_record *itr, + struct evlist *evlist, + struct record_opts *opts) +{ + struct arm_spe_recording *sper =3D + container_of(itr, struct arm_spe_recording, itr); + struct evsel *evsel, *tmp; + struct perf_cpu_map *cpus =3D evlist->core.user_requested_cpus; + + int err; + + sper->evlist =3D evlist; + + evlist__for_each_entry(evlist, evsel) { + if (evsel__is_aux_event(evsel)) { + if (!strstarts(evsel->pmu->name, ARM_SPE_PMU_NAME)) { + pr_err("Found unexpected auxtrace event: %s\n", + evsel->pmu->name); + return -EINVAL; + } + opts->full_auxtrace =3D true; + } + } + + if (!opts->full_auxtrace) + return 0; + + evlist__for_each_entry_safe(evlist, tmp, evsel) { + if (evsel__is_aux_event(evsel)) + arm_spe_setup_evsel(evsel, cpus); + } + + err =3D arm_spe_setup_aux_buffer(opts); + if (err) + return err; + + return arm_spe_setup_tracking_event(evlist, opts); +} + static int arm_spe_parse_snapshot_options(struct auxtrace_record *itr __ma= ybe_unused, struct record_opts *opts, const char *str) --=20 2.34.1 From nobody Sun Feb 8 15:37:23 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E03411CD1E1 for ; Tue, 24 Dec 2024 10:44:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037088; cv=none; b=NBYmZAZBBlSAyDy1zUXRmwCkCRHBL/i8tiIlQGlJqpjeUgobyr8+/2IQYP7EULTAz8Dgl/84RQngvvcd9G41sUpUg9E9w8QkXcrdhzrKsisC5qAkMeYew4ZiSenMnbLtIvLjIOy9hPRfwewVvMjMCd0OEb7QI8a0t3ySREJkFoo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037088; c=relaxed/simple; bh=CzVsVOj5aHsPQBr+aXqDtSSnmkuppLx5203C1dQxOOw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=B+HwnnmhcBSLz/R+O23ec/LDl+dk+vU6c44XsaUcyUbNuWx3Upys0ifuXBm1hxa91Of6g9Dd52jMre7VYsUArnPsz7p292QF7QOAU9uyBTCIQs6qeTBffHZDDP4l3CzBaID4JBfEEZTW+hFb0g6MViP04kYOoS8Nl14eru9oUXY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=mcPN7DRK; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="mcPN7DRK" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-436345cc17bso37008425e9.0 for ; Tue, 24 Dec 2024 02:44:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1735037085; x=1735641885; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wmWclsqjoRWfqPrE0WD8+jPpX9G+TTRqhb+EOtWuV1I=; b=mcPN7DRK2TWJCExPow7gWFvtBzslqpINOdk1nTh6LyyUrFsyLDYGsgmKyXRBVO12Bl 1GFC8MzOi3hhs9C9+7WRi5dLrGbwxGsARMyJzMm440aFuaKYdq1yb3jn0DBBX2QtdTLu O6VnRDhJQ2RzENZVmt078apymMJxJvHhU2w8wBbfT0rZOjPdOkx0AkIjffaIW+9Lu99K bBEwTpDF9vMfr+xXjraVuM+w7JsV3F86ikryHq9KllC/RDCiflxYHjoU4HNWbiauOmNX fWCHWdRfTEOMph7emunPqSy6WrMF+jCB2E+B9Bru9fsAzcoEf/JDir7FtM2OM6Bl4cZz rxjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735037085; x=1735641885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wmWclsqjoRWfqPrE0WD8+jPpX9G+TTRqhb+EOtWuV1I=; b=Nb8Fr+YQ7zbNMS2lype0H4ykMST8sprEax5KG/LehnCGcQ0h4gV2j31ihTpDl0PwpQ VgxYvvVZMKJDW9Gnyl0YiYli713bj35btq7U8XwGKcA55HaPPpuayhmdNTpVHN/YCoqP MCXFtBEhrLEO3x7FQsL4iS0TKHJTm7J3/26kN0uAk3EozAvv8ezInLXw1Ke4oKV/bKzq iynceOC+YTITOBRiHLIcrSxSn0xAYID6Y8gkfjHZF0ZyJ19bxy828TI2VnfxmCFcKvTM Ji+d/eCmedPBqI0Zmyw/t8wDvrOkzH0GPYzuTqlXEEfJY9OZ5e4IxD/+KYKgabhxRncs bl0A== X-Forwarded-Encrypted: i=1; AJvYcCVikrJq1qGNaohhCwgHjtvFJTxCaIE3Qtsn2HWix+PMUceGHTBp3vimN5JFJ4oJat1aUxTB1hiWlKlUyvQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzLtC0bPXGAt1irzX86H/AdoQsEyThesGa6mFX9fkj4vbLrZDcr VvcFjkdl5uK/+GxE3rsC5sghBcVnUYru6SKDSPPfVFfOa/d1CwtQxgDd25CFvsA= X-Gm-Gg: ASbGnctcFAXFf3RZpM7mevwv9lyjNPgN+ayPOs6ydVqu36q0w/Y9a+L6Vf9ZsXm6jDA SlezzJqBVlhtRwV6x4/HD6MdAQrKQzcsoksnl2Pt1xbaNUFr7sumL3UVkLB0qSSeBDHP5pmb3nO YW3Snpu5yhCJkAEj9oz8gz59pGXIvSDyDjhNVagWqS0Zi9IY0X/8H1AD00lRRBd5eq4h0b3Yq9l 8UtXt8qH/2+f5V8lTRvuIOEZgvs+CjGfXjouHXrVzzcdqqRmMzRKp4= X-Google-Smtp-Source: AGHT+IHaBv3kwmR23DfMiPkW/ULQn6dCN6owu8F2AwgaW5A6C+1/Tsu2gsMP3xZT9UiCfrjTvu25qA== X-Received: by 2002:a05:6000:490e:b0:385:fc97:9c63 with SMTP id ffacd0b85a97d-38a221f16d6mr14526536f8f.9.1735037085301; Tue, 24 Dec 2024 02:44:45 -0800 (PST) Received: from pop-os.. ([145.224.66.70]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a1c847714sm13938184f8f.54.2024.12.24.02.44.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Dec 2024 02:44:44 -0800 (PST) From: James Clark To: linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, irogers@google.com, yeoreum.yun@arm.com, will@kernel.org, mark.rutland@arm.com Cc: robh@kernel.org, James Clark , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Alexander Shishkin , Jiri Olsa , Adrian Hunter , "Liang, Kan" , John Garry , Mike Leach , Leo Yan , Graham Woodward , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH v2 3/5] perf tool: arm-spe: Don't allocate buffer or tracking event in discard mode Date: Tue, 24 Dec 2024 10:44:10 +0000 Message-Id: <20241224104414.179365-4-james.clark@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241224104414.179365-1-james.clark@linaro.org> References: <20241224104414.179365-1-james.clark@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The buffer will never be written to so don't bother allocating it. The tracking event is also not required. Reviewed-by: Yeoreum Yun Signed-off-by: James Clark --- tools/perf/arch/arm64/util/arm-spe.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/perf/arch/arm64/util/arm-spe.c b/tools/perf/arch/arm64/u= til/arm-spe.c index 1b543855f206..4301181b8e45 100644 --- a/tools/perf/arch/arm64/util/arm-spe.c +++ b/tools/perf/arch/arm64/util/arm-spe.c @@ -376,7 +376,7 @@ static int arm_spe_recording_options(struct auxtrace_re= cord *itr, container_of(itr, struct arm_spe_recording, itr); struct evsel *evsel, *tmp; struct perf_cpu_map *cpus =3D evlist->core.user_requested_cpus; - + bool discard =3D false; int err; =20 sper->evlist =3D evlist; @@ -396,10 +396,17 @@ static int arm_spe_recording_options(struct auxtrace_= record *itr, return 0; =20 evlist__for_each_entry_safe(evlist, tmp, evsel) { - if (evsel__is_aux_event(evsel)) + if (evsel__is_aux_event(evsel)) { arm_spe_setup_evsel(evsel, cpus); + if (evsel->core.attr.config & + perf_pmu__format_bits(evsel->pmu, "discard")) + discard =3D true; + } } =20 + if (discard) + return 0; + err =3D arm_spe_setup_aux_buffer(opts); if (err) return err; --=20 2.34.1 From nobody Sun Feb 8 15:37:23 2026 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B17331D798E for ; Tue, 24 Dec 2024 10:44:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037092; cv=none; b=SUKe0GjajtzAQ9lm2suJmjHolXyLYa86Fg217NEWh0kOkhPaZDuwSpjBBedtXuj1D/iP5fJKP+Co5yOzQm7aUHfNbMFeQtxLhs9w7F2MPSltPpMq8VVuSWCLhANHNXpylEiOewrVMzn77d7X8sUT4n+yvp3jieBTxUsv6dohQ0k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037092; c=relaxed/simple; bh=HJMe93LWOIndT8K0R5G7ezfVXY9GgrzNRpECoxcqcxA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=uG0yk1Rnhm6b5ySrtygcGxaXQUYia4/IFL8z6G8DO6Do4Lz0CRi0nsmB+48+owcTLjdazor055RGT+4jkVszt7oyJaBy4yx9gHIfP+V78wxWG4rD17AVa2xX6s5AS01upwL4vvdObHuzfrl5zH0mzX8KGOqmZWwtbHCJNSzOqpE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=QIsL4g9S; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="QIsL4g9S" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-385dece873cso1929659f8f.0 for ; Tue, 24 Dec 2024 02:44:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1735037089; x=1735641889; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=r1j+BIbB70BfH6p+H3D0C/f2KwCH22I9fsAuqIEouAI=; b=QIsL4g9SqfvBiWEXjofNuKU7xAkggtYLmRD4I+1QY+pcbJkMInKKEsW9EY03fpo7j9 tgk22TwN0NWaJRu0Q4DbqXksLVsKDUW/2iDdTyVyhxsXGELEeC5wHaqO3H3qH9zKmNds uyyoLd8aGWoqvyq427HUfhHfxMrLfxZp7hbvp6HRn1HNuTrKvf3xHHjTuhWQhxH2hHCz AqMaRI5AXbvXVOcF4/cEMRrOUKhlwXwwH5pdyUXZwn7XSE0UV3gT5PZQFIS2Op4FukKb 1K2PpDeREOqttOLECsC7V582EiZ0Jt8jyapaBJXtEaphhSG8NngWGILRA1dDrvCMor9u T3bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735037089; x=1735641889; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r1j+BIbB70BfH6p+H3D0C/f2KwCH22I9fsAuqIEouAI=; b=moQiavWgKF1CBhMkkuoQaYeQougY1tN282eekcDuOrUeA4JGMHs5W9GvNeajCQoNOr nQ6FxofMNup+58tP84gWo88VLsn6mLyux03vmZmoSHE0ffczlLgFuWLbmeQRY8ixyiYw AT59dkT5bVexUwC3Ew/TBtnZlfKUKYfudZ4mBgOvstqxZ1tGlsYVQa2h5i4SM3yj1vEk 6dFuiioPB5/7XQuvrz0SYD9PGyaKUIC4ckn+wveGEW41nNa8+l7A8QKInP0DDyqe7M33 yQ4q9LYgQjvhpHo6SUoZGkGtGLGRG4jHPqsPjJ6YyDY8eROVBwdusaljT/mlJoJ6mMAB 635Q== X-Forwarded-Encrypted: i=1; AJvYcCXAhZXy5BVssrnZ1Pmf2Gd4cd1851qXI4QxEB9X3vY9rzyDcKhwLgzLk71M5jMHvbgrlQQIPCW+zGoP1WY=@vger.kernel.org X-Gm-Message-State: AOJu0YyA8cyYyYqNTzXzGXrsKgpfPmP1/oc2RofVPTMtFYe4Cv9D8LE7 FgwOwZapUGoE46WGjhwGICjBRAeizfL4alF5PhuLfhH2TNfakqCbEbLdhdyXrPM= X-Gm-Gg: ASbGncvuwoCWw/3GapWfIg+/8WIGD/Cc+u1eUW5oAAPS9toWbAJHeKy+BISZAihXwLj KijldkoRrANNB1TwMwjJGbsF0TzZYtWqEI7gLY2x2xyFlv2rWp70C2nBbW0jZeuVelCpQGAFMhT OR8yLpaoPYBGqomjQacCDOJwCaPtyl95rIQ0bP28ksasQEsgr+fnQ6iVqihUp1+uzGDmGqxS45p qCkAkvHorSSU7EdWcuiH0cIxPAUs1BOXZWljup8BujyFU7iLMRUyPU= X-Google-Smtp-Source: AGHT+IH+dfpgTuFz+C7tBaq/J7Dc+pyrOC6X4KjPHRcroZadLExb0vNcsLRnA0H4zbAjsKClBUrHAA== X-Received: by 2002:a5d:64ad:0:b0:385:e67d:9e0 with SMTP id ffacd0b85a97d-38a221ffe1bmr13551020f8f.29.1735037089043; Tue, 24 Dec 2024 02:44:49 -0800 (PST) Received: from pop-os.. ([145.224.66.70]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a1c847714sm13938184f8f.54.2024.12.24.02.44.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Dec 2024 02:44:48 -0800 (PST) From: James Clark To: linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, irogers@google.com, yeoreum.yun@arm.com, will@kernel.org, mark.rutland@arm.com Cc: robh@kernel.org, James Clark , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Alexander Shishkin , Jiri Olsa , Adrian Hunter , "Liang, Kan" , John Garry , Mike Leach , Leo Yan , Graham Woodward , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH v2 4/5] perf test: arm_spe: Add test for discard mode Date: Tue, 24 Dec 2024 10:44:11 +0000 Message-Id: <20241224104414.179365-5-james.clark@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241224104414.179365-1-james.clark@linaro.org> References: <20241224104414.179365-1-james.clark@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a test that checks that there were no AUX or AUXTRACE events recorded when discard mode is used. Reviewed-by: Yeoreum Yun Signed-off-by: James Clark --- tools/perf/tests/shell/test_arm_spe.sh | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tools/perf/tests/shell/test_arm_spe.sh b/tools/perf/tests/shel= l/test_arm_spe.sh index 3258368634f7..a69aab70dd8a 100755 --- a/tools/perf/tests/shell/test_arm_spe.sh +++ b/tools/perf/tests/shell/test_arm_spe.sh @@ -107,7 +107,37 @@ arm_spe_system_wide_test() { arm_spe_report "SPE system-wide testing" $err } =20 +arm_spe_discard_test() { + echo "SPE discard mode" + + for f in /sys/bus/event_source/devices/arm_spe_*; do + if [ -e "$f/format/discard" ]; then + cpu=3D$(cut -c -1 "$f/cpumask") + break + fi + done + + if [ -z $cpu ]; then + arm_spe_report "SPE discard mode not present" 2 + return + fi + + # Test can use wildcard SPE instance and Perf will only open the event + # on instances that have that format flag. But make sure the target + # runs on an instance with discard mode otherwise we're not testing + # anything. + perf record -o ${perfdata} -e arm_spe/discard/ -N -B --no-bpf-event \ + -- taskset --cpu-list $cpu true + + if perf report -i ${perfdata} --stats | grep 'AUX events\|AUXTRACE events= '; then + arm_spe_report "SPE discard mode found unexpected data" 1 + else + arm_spe_report "SPE discard mode" 0 + fi +} + arm_spe_snapshot_test arm_spe_system_wide_test +arm_spe_discard_test =20 exit $glb_err --=20 2.34.1 From nobody Sun Feb 8 15:37:23 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 55F161D90DC for ; Tue, 24 Dec 2024 10:44:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037096; cv=none; b=QamJ7EebFZZd8H04Gj8o13y6lyzKoLEqdJ640krJEZQmAEDOL975WYOIYvh8YhFZ9i+BkH2wGF9gjHf1mlOG0LzaKoJ6sTrYaXPYz38x4ie3SxP+BQll2DWUW4yj2losCWV9KRjso5a32akQgrIRX4GmnTbXMawqlot3CPNmWBU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735037096; c=relaxed/simple; bh=RerMUU2iJNRvAH+P/WRIzJRF2OXWh6S/x0SNAoX8N2I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mJn2xgdu6vfauHOiuy9AabmU34DauypV+DmIvNzIAKfQAi7l7AmvU+UIE8GPu1ZN0FEvIQUkPlhS82DYMVy6IO1+fnvucdUQAIvjMEXxBf4B96sLqUpIf37I9rTfb3wnUvjlZ1gESyGrKZS8C41LyCAbI9fb90zDvR3L562LTqM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=JoVoOiWU; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="JoVoOiWU" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3862a921123so3434467f8f.3 for ; Tue, 24 Dec 2024 02:44:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1735037093; x=1735641893; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BwyNoR0SnuVGySQmrh3vEyVb1ET66P1aG6x3YnivKGw=; b=JoVoOiWU+LTn+LzaphtbuB4Uy4oRwIAX12TYoxTIyc99OcRv0k1xpgCYbeGRUQukqO 9BC0T/W69NXtBNB8oxSdTsUYaMqVBU/eIwjInM/SutQGRFGmEYuO0/Pn00AisA5/bna9 b8hz7lX+wYeObujE3ZP2+HMLlLXlaNzqVk5MKhsUTSVXm8B+ilfBmX3M6ZO9N8nrxAdz MW6B+BwJCdndxPaFQ3Q1hYTc6nrxeKtIssYKApNQGxpN6mB9rQfojH1X7grvoEeh7EkF tpKo4esC7tqLroFw4E13Dz26NWZQ7MmKiwa7hJ94zkun6Iq7mzP3Hxlw0VKKUrSVIBRx h6HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735037093; x=1735641893; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BwyNoR0SnuVGySQmrh3vEyVb1ET66P1aG6x3YnivKGw=; b=ElKqa3e6D1UyDZygU2d5auoQK4uRUjmfojYfoupHSL4rxSaMNAKy0k9LGIxCSORP1t gf5BcOfW6Q728/oazEFOqME7EzE5uJDsgsbAczuOveLygWZ+rET+kALeyvc1aUQd5Hyh j5j7zCHXlheCVlvYR9ZPbVJ1Bf1BUAwG6t3+9dsiMdF1fT/ZR44r96VS3P4mn4C/X4Rw iuzv4IxYZZnpm8/B4CXXrwu4xZhiK1GcSvic295e7UaNz2oOJCpZJEyLg58c76DztkWU u6ms9D3Ecz/thTZ61CI5GEi8tDFjSuwq3gKCli9DxcAMFkZRua1+NPlKczxmEGSMaTQL jd/g== X-Forwarded-Encrypted: i=1; AJvYcCW1696+ExJ62b/MvKEmkg0WuXQSY5oYv3IXX/JEQDX9wCj1M2d07mnNJE75UA7sZ87A8LoazWMAmxCisgQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyjVxbBJz8pBV56DyylMZKUreXe0AHaCX9MlN3PRRHGW1iQe3yK gYIwB2HO86cDXZbYUxfK6t/PjLKcKO5oVlip57Iz74Q7Y+/cZcdXyU/OQ+6Ifcc= X-Gm-Gg: ASbGncuQBO3FOjWYV9SEQBf+2+ECSRig7V0vDfJlK9gQqRiPPxSNlGOU2gRMrglV7ht CpP15apfMehY8O0txXKqcVpAcJoeXJDZ+tH5IljpUzN2LAZPtnGSX1cd92QmMFqzyujFESCNN8E TgE2qe4NjdtWvSbMeLG2oODsXQ6EfT6VwE5I2zWIeRA16GZWlxoVLlpC8VqcXVbQp34VfKzphnt /DWurUfjI0YJJvALzhbBFw++Fc2YW9q7BAEZq3Nu4Yk/aHhBDzF8fY= X-Google-Smtp-Source: AGHT+IEHX62hM4cRXueG3YQu6eg84405e7WqgYcT9lFPGrHLB17v7HhSKT3GSKfbXrWS+gmH7kk2Dw== X-Received: by 2002:a05:6000:794:b0:385:e013:b842 with SMTP id ffacd0b85a97d-38a221ea331mr12569563f8f.14.1735037092689; Tue, 24 Dec 2024 02:44:52 -0800 (PST) Received: from pop-os.. ([145.224.66.70]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a1c847714sm13938184f8f.54.2024.12.24.02.44.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Dec 2024 02:44:52 -0800 (PST) From: James Clark To: linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, irogers@google.com, yeoreum.yun@arm.com, will@kernel.org, mark.rutland@arm.com Cc: robh@kernel.org, James Clark , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Alexander Shishkin , Jiri Olsa , Adrian Hunter , "Liang, Kan" , John Garry , Mike Leach , Leo Yan , Graham Woodward , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH v2 5/5] perf docs: arm_spe: Document new discard mode Date: Tue, 24 Dec 2024 10:44:12 +0000 Message-Id: <20241224104414.179365-6-james.clark@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241224104414.179365-1-james.clark@linaro.org> References: <20241224104414.179365-1-james.clark@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document the flag along with PMU events to hint what it's used for and give an example with other useful options to get minimal output. Reviewed-by: Yeoreum Yun Signed-off-by: James Clark --- tools/perf/Documentation/perf-arm-spe.txt | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/perf/Documentation/perf-arm-spe.txt b/tools/perf/Documen= tation/perf-arm-spe.txt index de2b0b479249..37afade4f1b2 100644 --- a/tools/perf/Documentation/perf-arm-spe.txt +++ b/tools/perf/Documentation/perf-arm-spe.txt @@ -150,6 +150,7 @@ arm_spe/load_filter=3D1,min_latency=3D10/' pct_enable=3D1 - collect physical timestamp instead of virtual ti= mestamp (PMSCR.PCT) - requires privilege store_filter=3D1 - collect stores only (PMSFCR.ST) ts_enable=3D1 - enable timestamping with value of generic timer = (PMSCR.TS) + discard=3D1 - enable SPE PMU events but don't collect sample d= ata - see 'Discard mode' (PMBLIMITR.FM =3D DISCARD) =20 +++*+++ Latency is the total latency from the point at which sampling star= ted on that instruction, rather than only the execution latency. @@ -220,6 +221,31 @@ Common errors =20 Increase sampling interval (see above) =20 +PMU events +~~~~~~~~~~ + +SPE has events that can be counted on core PMUs. These are prefixed with +SAMPLE_, for example SAMPLE_POP, SAMPLE_FEED, SAMPLE_COLLISION and +SAMPLE_FEED_BR. + +These events will only count when an SPE event is running on the same core= that +the PMU event is opened on, otherwise they read as 0. There are various wa= ys to +ensure that the PMU event and SPE event are scheduled together depending o= n the +way the event is opened. For example opening both events as per-process ev= ents +on the same process, although it's not guaranteed that the PMU event is en= abled +first when context switching. For that reason it may be better to open the= PMU +event as a systemwide event and then open SPE on the process of interest. + +Discard mode +~~~~~~~~~~~~ + +SPE related (SAMPLE_* etc) core PMU events can be used without the overhea= d of +collecting sample data if discard mode is supported (optional from Armv8.6= ). +First run a system wide SPE session (or on the core of interest) using opt= ions +to minimize output. Then run perf stat: + + perf record -e arm_spe/discard/ -a -N -B --no-bpf-event -o - > /dev/null= & + perf stat -e SAMPLE_FEED_LD =20 SEE ALSO -------- --=20 2.34.1