From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=209.85.128.171 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793738272; b=snDv5hn8t50gsIGV+JJZBUS5HXULAc1mEzAtXRAkbk0yNPGUUMWsxKC4K1LxY3SfWATV suSi6UisXZzT8kDK/B+FOsVlId9/ys/BviixT/gaeiQ2dbxiizFQvnIQNFSU+eDUZ9dna pN5gvQwaWXZYbagZ8x+1X1ad9UbvCZj26u3CCH9Y4AA/EWTTL6oS1VH+O7UE15291fePw qVbvNErLjoEfrPSXpUCW8f73PJtg76ooShA4RmTTPnbOqnsYnQaQqYo+D+K0OMQTAluuS l0eEuHdO/uqR5fqY5HD4ifku90pFKIeUs1LTplIRbPmKighZanHpnRTNoCyoKOBKOYw== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793738272; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Forwarded-Encrypted:X-Gm-Message-State:X-Gm-Gg:X-Received:Received: From:Date:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding: Message-Id:References:In-Reply-To:To:Cc:X-Mailer: X-Developer-Signature:X-Developer-Key; bh=wD/NZSLJ74kt14rOW8j6I2FfMavh9La/ykqKbtBHt/Q=; b=Iqsi2atFOcWlm5iT8xHD13McqUl7AkVJ80Sf2fFZHfmNMKQsiP9Gg2onZ6lwqCrO2pHJ 3cSsqYjNN60tWB2mh3MJ4cUqwNz6PnPUq13k2reo5ZqDwZDRemSVLLJ3OBBeXCBAE9IhQ Oh3tJl3wIfcddVMImo+f97CvWcLNM6zy1k6T6JkdPVN7CNoL1LCgNqY/uURRu5XVxuem7 3p8aDrA4QyzaFqPKIV6yb5Wtkp2hb2CCD8b79YzYvxayaJm8Qi4H68g+km6YwQdG4LVGQ qFvlpxCpXHwMxF9qYbwfoswB+blxrsCbtM/GAvOPX5KGTA3rhq/ApZBIY1qlQ68yXMg== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=KxPi6lEa; arc=none smtp.remote-ip=209.85.128.171 Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1569606EE92 for ; Tue, 3 Nov 2026 20:37:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org D1569606EE92 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20260707 header.b=KxPi6lEa Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-8b2fafe2812so13896467b3.0 for ; Tue, 03 Nov 2026 12:37:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793738271; x=1794343071; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wD/NZSLJ74kt14rOW8j6I2FfMavh9La/ykqKbtBHt/Q=; b=KxPi6lEaLKPjN0PkSLsBp671nblr+VHDn3O8T8vQFj5Mj4Kyv0Jk5av4BW6aXr5QDy 3aoEf0tOd1mO/x4rgXfdRsqsl0YOsE8ZGUpnm+to/7KS9rmsdNkmmtKBR7yXrN7Thipr qele+TWK1YYJMs7WX9frI9uKqLd2+IsaqOU911V8Q/H6MJXBz2mF9UawvRraVcIl37UE ETthRJpBw6cJZPaVNuWZ7ySdBJrdTGF6KQsOvZWdtTeLySPz6molhz/lG9U3j3FXU0iT J0dw3pQ+Fy76fa8Ma6COZsbJAwfcfe4pkkHamOnKOGc6Xom7m6XH+AcfzF0XOooyqok0 vnig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793738271; x=1794343071; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=wD/NZSLJ74kt14rOW8j6I2FfMavh9La/ykqKbtBHt/Q=; b=H1i2/FAD39TcaZFun2wspkeqJ74KPuqM1cDrMrV1c5V7Rx4bK4vMl+UOXTpsZhr67l twho5qYUuEGSrex5llRepQp6BvLNU5qdfOyW79axGZLnNtmdd0bJSZv/py8x8++NdDme A3VLnlJuVlwzTJ3YfCteZeV00vmHCVfcWvxy89v8pZu26JeFhPKn+UcDlmVcoSrIiB6F ts/K1/3DJndxGSiLPlb6V53AEQMBAjQkmIzhv8RUATNqRapYkE61rScFwUyDFW5/hCAI Q12gS1tIbQ8Bo1R1WkorpuZ++xO3SOsa7Ldt2Ibt4kV9BZnjF6S8rsYV76jYyPpGpe00 Tsgw== X-Forwarded-Encrypted: i=1; AKwUvBwl1lRfjNScRiWDkduOtmO+huZnDXYeb04/6rBalTNrzfkXVUniqiM/5ZqxRICPq/SzTaosSZ0X5Xb9uVk=@vger.kernel.org X-Gm-Message-State: APuU4Z/H1Ff2SZd/jSyaQpuIt4bJ86lqp4eJfUyCXAo5iVqek4Ruym5C b5YEZu1xrz9d/XTKHMtHW+MTb0z8r7kDJLqE7WSOqxD8qbKXODl9FnUK X-Gm-Gg: AYBFou2vISx3MCpcQk5NsIHVajTT/s6UsSfzbBiNYO3xT49YInfYv5UGsM/VtcS5ccW 9KSQX2tHxW3RXtN4gHg0FpdkzGrRpFoyHFE1kf34L1aLpn5FluDGVoMd8VAad82BUvnzvDjzq4g rj8xfHELq5N/d64oYb2ACHV1YpTP7CVROZVdLEDtv6bDaBWt8mGMhQoU8N6WtH07Jpf1TYkX8Cu CxBe+bVnq/KD4W9az3NxEwawVCw6xgX65E7iZjYeOEusH6TY9v207O/h3l28e/r1ej/I5pyV4Wz 6h9S8lOjtngTlxFKNJnvjyntb2rmlYmKYmmQSE9mz/ZkmpzyI+TVUAS9R9PMRCOR7xjexRLf25m r51tgAKqoxWg4StJL8EzQF+Y8EAAYJ3MTYVvwvWf8bnQj+AIHig80vF31OmI0apvGvdvDo0RfKj 1qQXQ/0VsE1U74mK/pVZKqlsvb0/OQ+8yBTJXnQhBYvLdlYU8GGzlKFhLlK5BEunHyGjcVBlETD EmixZM1djc1AWU4pjlhl7NMUza4p1N36QarXzRx6VYJzuKsXo93wJP/ZPAUgOmgwVnMA00rCc/Z qeNpXofxDtwEL5lE+XpqKOJ5JKEDXl1pq97eDq7DjHRs7Lbf+GWNh3dGTjha733r9N9IqqIw4fP cVeoEeSA35uVTTDQUtDN4q7OPZKPFTJM= X-Received: by 2002:a05:690c:698a:b0:8b0:a30a:7f31 with SMTP id 00721157ae682-8b2b679ba96mr91098437b3.29.1793738270783; Tue, 03 Nov 2026 12:37:50 -0800 (PST) Received: from localhost ([2600:1702:7a90:6f9f:8bc4:8aec:108d:7a04]) by smtp.gmail.com with ESMTPSA id 00721157ae682-8b3099ae415sm4581697b3.35.2026.11.03.12.37.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 12:37:50 -0800 (PST) From: Matt Turner Date: Tue, 03 Nov 2026 15:37:41 -0500 Subject: [PATCH v5 08/11] alpha/perf: report the ProfileMe window count as the sample weight X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261103-alpha-profileme-v5-8-bbe3937fbf3a@gmail.com> References: <20261103-alpha-profileme-v5-0-bbe3937fbf3a@gmail.com> In-Reply-To: <20261103-alpha-profileme-v5-0-bbe3937fbf3a@gmail.com> To: Richard Henderson , Magnus Lindholm , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark Cc: linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Matt Turner X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2519; i=mattst88@gmail.com; h=from:subject:message-id; bh=jH61n0n9TnfpjaJzceHF3PJ4Sc8GPXtvT2ygGVuAD3w=; b=owGbwMvMwCW25rVmCc8sv+mMp9WSGLJeufHFB3oyKExvn//k9xezZw9+vvH+GH3AuGFXaAp3p wzTqXtNHR9ZGMS4GGaKKbLErVdkmdW2Y6nPaelfMHNYmUCGSIs0MAABCwNfbmJeqZGOkZ6ptqGe IZChYxQPkdNj0MgsLi5NLdJNKyhyyMsvSSzJzM8r1ssvSM0rSC/QS8tMK8nIyC8qTgUaoZeXWmL q6uhmZGhgYuloYeZk4Whq4uzsZOjk5ujo7OpkZGluYuBs6WjiamnOwMUpAHNN4DZGhhVuh5Y1vT 7DUlwd9dN4yqf9FedeGJk1dfV/vBJ/z0mZ24Hhf4VZ9wZzp3B37hK5fVr/vrssPSO8fc40qRu5X tp1pkxv+QE= X-Developer-Key: i=mattst88@gmail.com; a=openpgp; fpr=3BB639E56F861FA2E86505690FDD682D974CA72A What PCTR1 counted during the ProfileMe window, the inum retire delay for cycles:p or the window length for instructions:p, is only available in the PERF_SAMPLE_RAW data. Report it in var1_dw of the sample weight, which the weight and local_weight sort keys read. It is 20 bits, so it fits. As Alpha is little-endian, this is also the right value for plain PERF_SAMPLE_WEIGHT, which is what perf record -W asks for. Samples that fall back to the interrupted PC get no weight, as it belongs to a different instruction. Suggested-by: Ian Rogers Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Matt Turner --- arch/alpha/kernel/perf_event.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/alpha/kernel/perf_event.c b/arch/alpha/kernel/perf_event.c index 6c74f67ad341..c2c367b51617 100644 --- a/arch/alpha/kernel/perf_event.c +++ b/arch/alpha/kernel/perf_event.c @@ -1030,7 +1030,7 @@ static void alpha_perf_event_profileme(struct perf_event *event, struct perf_raw_record raw; struct perf_sample_data data; struct pt_regs *pm_regs; - bool pc_only = false; + bool pc_only = false, exact = true; unsigned long pctr_ctl, i_stat, pmpc, ovr, pc, saved_pc, saved_ps; pctr_ctl = wrperfmon(PERFMON_CMD_READ, 0); @@ -1077,6 +1077,7 @@ static void alpha_perf_event_profileme(struct perf_event *event, pc = pmpc & EV67_PMPC_PC_MASK; if (pmpc & EV67_PMPC_PAL) { pc = regs->pc; + exact = false; } else if (pc < TASK_SIZE && !user_mode(regs)) { if (is_user_task(current)) { pc_only = true; @@ -1086,6 +1087,7 @@ static void alpha_perf_event_profileme(struct perf_event *event, pm_regs->ps = 8; } else { pc = regs->pc; + exact = false; } } else if (pc >= TASK_SIZE && user_mode(regs)) { pm_regs = this_cpu_ptr(&alpha_profileme_regs); @@ -1119,6 +1121,15 @@ static void alpha_perf_event_profileme(struct perf_event *event, }; perf_sample_save_raw_data(&data, event, &raw); + /* The count belongs to the profiled instruction, not the interrupted PC. */ + if (exact && (event->attr.sample_type & PERF_SAMPLE_WEIGHT_TYPE)) { + /* perf_sample_data_init() does not clear it. */ + data.weight.full = 0; + data.weight.var1_dw = (pctr_ctl >> EV67_PCTR_1_COUNT_SHIFT) & + EV67_PCTR_1_COUNT_MASK; + data.sample_flags |= PERF_SAMPLE_WEIGHT_TYPE; + } + if (!alpha_perf_event_set_period(event, hwc, 0)) return; -- 2.55.0