From nobody Thu Apr 2 16:58:52 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (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 A90AD74BE1; Fri, 27 Mar 2026 05:33:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774589610; cv=none; b=gM9NyNlQiyyUVDkB8EBTsldDjnuJbxnO1QMDqOqV38kuT5u9iLuxh4vUXeR0vzokwnCPyfJfjoXTWu/YTJpE3h+x3YO/DFhh7IHWhl8btg5oOvT9hfgKlZM6S92PBbPPasomR5iiwiagLEJPM1LW/TVvm+ONm9EX+zJ0BQlAHBE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774589610; c=relaxed/simple; bh=9BbP1yzdoQCpZfKgmlwryzXQX1iDypKgSQT2ATe3lrc=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=jTzcfJSs1lzEuGrFM3XYw7MipS7xXkGOWM4TWCg2kz5hftNx7vyZTZtkblKzAn5rLfpqnv4zpoqV0/5REtN0qu6GckLV+BhABtuZXQrtloYF/sGEAFo8/bzZ/y5m42fGy9Atldl8W3h2j4bYMHBkl4373McyZ9utWOLZn14a088= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ACarafmK; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ACarafmK" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1774589609; x=1806125609; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=9BbP1yzdoQCpZfKgmlwryzXQX1iDypKgSQT2ATe3lrc=; b=ACarafmK5GzMlyOjJd9XAnJMPtXYxcYOJz5yfE2bzCpGFyckmmSq0PQH 6tXZKiqsCVUK4bWgnKGfkaoKTKNvbeME/jk0EC896e00rhZh/TlB2dLtE hg+4KGMzkvGOqRNCKXbVdQsNrCs1ivOdVPGThLNs7If6Z0Y8POyOktH6t /WE1t0YSyrwlrNUal+/xJW3itlU4nWFCFGrsGMvL2DLmEqbnC8aaJaXST ZBNwo66QlXp7u+M5A47hwk9c1cjkppz2t6mAxLlvZVmI1fuCP1apSzM98 tD5PpQmMWOG7NOWuoT/CtgrTNLDr8/v8fjsNRFmpDV5/GiIstXkzgTDJo A==; X-CSE-ConnectionGUID: eVZ0Kjg5Q8OfFprutlCJIw== X-CSE-MsgGUID: HxM5sZNLSUOutqW6NN5mcw== X-IronPort-AV: E=McAfee;i="6800,10657,11741"; a="93240870" X-IronPort-AV: E=Sophos;i="6.23,143,1770624000"; d="scan'208";a="93240870" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2026 22:33:28 -0700 X-CSE-ConnectionGUID: uSpiwYX4QwOP+Aj8ZIb7nA== X-CSE-MsgGUID: nX8+a2voTfyQPQ6cJl68oQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,143,1770624000"; d="scan'208";a="224267106" Received: from spr.sh.intel.com ([10.112.229.196]) by orviesa006.jf.intel.com with ESMTP; 26 Mar 2026 22:33:24 -0700 From: Dapeng Mi To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers , Adrian Hunter , Alexander Shishkin , Andi Kleen , Eranian Stephane Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Dapeng Mi , Zide Chen , Falcon Thomas , Xudong Hao , Kan Liang , Dapeng Mi Subject: [Patch v2] perf/x86/msr: Make SMI and PPERF on by default Date: Fri, 27 Mar 2026 13:28:44 +0800 Message-Id: <20260327052844.818218-1-dapeng1.mi@linux.intel.com> X-Mailer: git-send-email 2.34.1 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" From: Kan Liang The MSRs, SMI_COUNT and PPERF, are model-specific MSRs. A very long CPU ID list is maintained to indicate the supported platforms. With more and more platforms being introduced, new CPU IDs have to be kept adding. Also, the old kernel has to be updated to apply the new CPU ID. The MSRs have been introduced for a long time. There is no plan to change them in the near future. Furthermore, the current code utilizes rdmsr_safe() to check the availability of MSRs before using it. Make them on by default. It should be good enough to only rely on the rdmsr_safe() to check their availability for both existing and future platforms. Signed-off-by: Kan Liang Co-developed-by: Dapeng Mi Signed-off-by: Dapeng Mi Reviewed-by: Zide Chen --- V2: Removed stale #include . V1: https://lore.kernel.org/lkml/20240910192626.768146-1-kan.liang@linux.in= tel.com/ arch/x86/events/msr.c | 82 ++----------------------------------------- 1 file changed, 3 insertions(+), 79 deletions(-) diff --git a/arch/x86/events/msr.c b/arch/x86/events/msr.c index 8052596b8503..76d6418c5055 100644 --- a/arch/x86/events/msr.c +++ b/arch/x86/events/msr.c @@ -2,7 +2,6 @@ #include #include #include -#include #include =20 #include "probe.h" @@ -41,86 +40,11 @@ static bool test_therm_status(int idx, void *data) =20 static bool test_intel(int idx, void *data) { - if (boot_cpu_data.x86_vendor !=3D X86_VENDOR_INTEL || - boot_cpu_data.x86 !=3D 6) + if (boot_cpu_data.x86_vendor !=3D X86_VENDOR_INTEL) return false; =20 - switch (boot_cpu_data.x86_vfm) { - case INTEL_NEHALEM: - case INTEL_NEHALEM_G: - case INTEL_NEHALEM_EP: - case INTEL_NEHALEM_EX: - - case INTEL_WESTMERE: - case INTEL_WESTMERE_EP: - case INTEL_WESTMERE_EX: - - case INTEL_SANDYBRIDGE: - case INTEL_SANDYBRIDGE_X: - - case INTEL_IVYBRIDGE: - case INTEL_IVYBRIDGE_X: - - case INTEL_HASWELL: - case INTEL_HASWELL_X: - case INTEL_HASWELL_L: - case INTEL_HASWELL_G: - - case INTEL_BROADWELL: - case INTEL_BROADWELL_D: - case INTEL_BROADWELL_G: - case INTEL_BROADWELL_X: - case INTEL_SAPPHIRERAPIDS_X: - case INTEL_EMERALDRAPIDS_X: - case INTEL_GRANITERAPIDS_X: - case INTEL_GRANITERAPIDS_D: - - case INTEL_ATOM_SILVERMONT: - case INTEL_ATOM_SILVERMONT_D: - case INTEL_ATOM_AIRMONT: - case INTEL_ATOM_AIRMONT_NP: - - case INTEL_ATOM_GOLDMONT: - case INTEL_ATOM_GOLDMONT_D: - case INTEL_ATOM_GOLDMONT_PLUS: - case INTEL_ATOM_TREMONT_D: - case INTEL_ATOM_TREMONT: - case INTEL_ATOM_TREMONT_L: - - case INTEL_XEON_PHI_KNL: - case INTEL_XEON_PHI_KNM: - if (idx =3D=3D PERF_MSR_SMI) - return true; - break; - - case INTEL_SKYLAKE_L: - case INTEL_SKYLAKE: - case INTEL_SKYLAKE_X: - case INTEL_KABYLAKE_L: - case INTEL_KABYLAKE: - case INTEL_COMETLAKE_L: - case INTEL_COMETLAKE: - case INTEL_ICELAKE_L: - case INTEL_ICELAKE: - case INTEL_ICELAKE_X: - case INTEL_ICELAKE_D: - case INTEL_TIGERLAKE_L: - case INTEL_TIGERLAKE: - case INTEL_ROCKETLAKE: - case INTEL_ALDERLAKE: - case INTEL_ALDERLAKE_L: - case INTEL_ATOM_GRACEMONT: - case INTEL_RAPTORLAKE: - case INTEL_RAPTORLAKE_P: - case INTEL_RAPTORLAKE_S: - case INTEL_METEORLAKE: - case INTEL_METEORLAKE_L: - if (idx =3D=3D PERF_MSR_SMI || idx =3D=3D PERF_MSR_PPERF) - return true; - break; - } - - return false; + /* Rely on perf_msr_probe() to check the availability */ + return true; } =20 PMU_EVENT_ATTR_STRING(tsc, attr_tsc, "event=3D0x00" ); base-commit: 6ee26b7a224b27aa7e8e1ee8a845a31664d2e97c --=20 2.34.1