From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE78238B7D9 for ; Mon, 13 Apr 2026 21:29:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776115775; cv=none; b=ck3WjpFbw+gZYQPcXQhT6bu5+137Tn4TKwKGXDnfD+X+s29C7wDv54hh8JSbiHFN4Akw3ZaiEY/o+M4njoTV4oAyT5nB7HH0lo5OxDqV3E4IttsRgmIWB67MM9ITAyw5UXDk+SCX2i2RvkdUGy78eL6LtlbE2xgsrO6kmf5t5gE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776115775; c=relaxed/simple; bh=2Ci8SuvVd3U++4AXdZW7P6hhMWR6vMAB2a0J1CcsEgw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=DrD/+49he375VnvIEEpVOUEI0vMRUOH9afiewtiN3NjnbVVpgT/fZx/cCVR9G1j1pVZSYlANbneEzbyGpRn5h6K4EOV5a/sJXt0Ucr+AjeCNGcdW81r4UQFutyKwaSMeaLj28l3hazom2X6exnxKl4yitva20VtMzXClr29J0JU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=q78IQ4GV; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="q78IQ4GV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48B30C2BCB5; Mon, 13 Apr 2026 21:29:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1776115775; bh=2Ci8SuvVd3U++4AXdZW7P6hhMWR6vMAB2a0J1CcsEgw=; h=From:To:Cc:Subject:Date:From; b=q78IQ4GV0fqY0Er2PIhXFrkJFwEevJ5omWuGTT9qT/DGYrQXZ4FiJ1us4u2tJ1AgC Ord5kDbvMOp46JPG7v/jZxY8LsaMlxNz2Z0DagFP07PVeZT+B88w83oqOGliU4phnl MLeRSIXwc2r5+1svSZsvHJni3hk+Zg1DNCqqsOde/fEulMszKkCpbWeqCBdCAmzOVc zVRPkeU9So6n1lxxOjmA1tt5Lyf1xNDLoB0WLup8YAudMVn5ZgTtbv+VTzLaQ63QTc wf9yoR6MI+aCvDOHNOh5OIL2Usc0lt4zd9iWXFk+WaA82YmcxMUlZqioZkyqD2wIgo df4UnWV/lCLog== From: Namhyung Kim To: Peter Zijlstra , Ingo Molnar Cc: Mark Rutland , Alexander Shishkin , Arnaldo Carvalho de Melo , LKML , Stephane Eranian , Dapeng Mi Subject: [PATCH] perf/x86/intel: Keep anythread_deprecated capability Date: Mon, 13 Apr 2026 14:29:33 -0700 Message-ID: <20260413212933.2495502-1-namhyung@kernel.org> X-Mailer: git-send-email 2.54.0.rc0.605.g598a273b03-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit In update_pmu_cap(), it reads MSR_IA32_PERF_CAPABILITIES on non-MTL CPUs to update the PMU capabilities. But it resets the anythread_deprecated bit on GNR so I can see /sys/bus/event_source/devices/cpu/format/any even if dmesg says AnyThread is deprecated. # dmesg | grep -A10 AnyThread [ 10.662423] Performance Events: XSAVE Architectural LBR, PEBS fmt5+-baseline, AnyThread deprecated, Granite Rapids events, 32-deep LBR, full-width counters, Intel PMU driver. [ 10.663172] ... version: 5 [ 10.663173] ... bit width: 48 [ 10.663174] ... generic counters: 8 [ 10.663174] ... generic bitmap: 00000000000000ff [ 10.663175] ... fixed-purpose counters: 4 [ 10.663176] ... fixed-purpose bitmap: 000000000000000f [ 10.663176] ... value mask: 0000ffffffffffff [ 10.663177] ... max period: 00007fffffffffff [ 10.663178] ... global_ctrl mask: 0001000f000000ff [ 10.668979] signal: max sigframe size: 11952 I guess it's not intentional and we want to keep deprecating anythread on these machines. Fixes: 25c623f41438fafc ("perf/x86/intel: Parse CPUID archPerfmonExt leaves for non-hybrid CPUs") Cc: Dapeng Mi Signed-off-by: Namhyung Kim --- arch/x86/events/intel/core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index 4768236c054bbcf8..f1fae640cc8e5991 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c @@ -5945,8 +5945,12 @@ static void update_pmu_cap(struct pmu *pmu) } if (!intel_pmu_broken_perf_cap()) { + bool anythread = hybrid(pmu, intel_cap).anythread_deprecated; + /* Perf Metric (Bit 15) and PEBS via PT (Bit 16) are hybrid enumeration */ rdmsrq(MSR_IA32_PERF_CAPABILITIES, hybrid(pmu, intel_cap).capabilities); + /* It seems anythread_deprecated is deleted unintentionally */ + hybrid(pmu, intel_cap).anythread_deprecated = anythread; } } -- 2.54.0.rc0.605.g598a273b03-goog