Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp1143638pxv; Fri, 25 Jun 2021 06:25:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcvtjv+A/P2OBMCNf15z1T8R8zDumc4zXSn0F94/s8f01FNtyjeWaOsIh7nznF1wcJPLqe X-Received: by 2002:a05:6638:349f:: with SMTP id t31mr9601070jal.95.1624627511792; Fri, 25 Jun 2021 06:25:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624627511; cv=none; d=google.com; s=arc-20160816; b=CNjoMAHLkuzJ6MZFpsl/iwMgSU/dp67VpG3+mFfTGMo5loe/JzZWOBIQWsYpCLDNrZ okTifdgF6YwOhcObuGH/l7CYJJ/wapWSFbeL/MNUHArdgBd2I8YyleqzLaeE1+ete+ay leMJVupWTiEevnBPi6yASoXRYeCfMLRLZKdKzVh6Y//Rcxm4YChu3qQpT4zMm0wvsT7H RBtgEzpfdpqADuI0erbD59+3BYDdP4IRluJfuobLnEX3H9n4EmOvZPN1YVS1sVyHC80e U0+R6ef6CuJeZBMLMi1yl3fOPHQ9s7VxmjtAUFNZu65TjRPSEG3eczFE0YPx3kwTyAv3 k7FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from:ironport-sdr :ironport-sdr; bh=0PTiKPEEf+3ZgGZcq7Ht9uWc9Ym7WDVoA0qJhNApGok=; b=rveEZurAnFdAhheqQSe3h3pt5EwjzTAeMO70aWaWgoWZLO4cLPyPUfkpTAntSAlJeR yqhWRUi7mPCkoPojQhKbdMbhpJKR30f2d0KZbMpZht9HZ34Mrf9n08TMOTYDcvBWLCl8 4bA/g3J46K3K1vOsGL4yT20+CwKOY9AaxYEeB/sWrloO33sbuO60lXRHHPFohWMlGoEn OSI8gEh3NNYkb8MCCkEcpB5SSOezlkY01aOraciT8RS5+PNl9sWxYyNZoEiqHMOC6ZmA MQoUQfBOxUKyOOM5YTJwiNw5wzbaHeGWlWn4u/OzCKrhJQHti5uSBoI9Rzl4scaZCG+q jhvw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z14si6059344ilz.48.2021.06.25.06.24.59; Fri, 25 Jun 2021 06:25:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231617AbhFYNZW (ORCPT + 99 others); Fri, 25 Jun 2021 09:25:22 -0400 Received: from mga17.intel.com ([192.55.52.151]:29960 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229934AbhFYNZV (ORCPT ); Fri, 25 Jun 2021 09:25:21 -0400 IronPort-SDR: SBPUssSgBn7AqLpF1n4ZnreRNg338ib0q3MebuV6Sz70Y5lEQjA/aq1z5CJW/TvswJdoJ4Ekt+ egmyJI72Y5vw== X-IronPort-AV: E=McAfee;i="6200,9189,10025"; a="188049032" X-IronPort-AV: E=Sophos;i="5.83,298,1616482800"; d="scan'208";a="188049032" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2021 06:23:00 -0700 IronPort-SDR: WcCEDs7T5MDLqldArOI8vBIn6j77DXTeYXuCm4HX2xuaQ27L7EzTT03605wks50jEJjKlAVRLD McRQOeYohFxQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,298,1616482800"; d="scan'208";a="455443468" Received: from power-sh.sh.intel.com ([10.239.48.130]) by fmsmga008.fm.intel.com with ESMTP; 25 Jun 2021 06:22:57 -0700 From: Zhang Rui To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org Cc: mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, kan.liang@linux.intel.com, artem.bityutskiy@linux.intel.com, ak@linux.intel.com, yao.jin@intel.com, rui.zhang@intel.com Subject: [PATCH RESEND] perf/x86/cstate: Add ICELAKE_X and ICELAKE_D support Date: Fri, 25 Jun 2021 21:32:47 +0800 Message-Id: <20210625133247.2813-1-rui.zhang@intel.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduce icx_cstates for ICELAKE_X and ICELAKE_D, and also update the comments. On ICELAKE_X and ICELAKE_D, Core C1, Core C6, Package C2 and Package C6 Residency MSRs are supported. This patch has been tested on real hardware. Signed-off-by: Zhang Rui Acked-by: Artem Bityutskiy Reviewed-by: Kan Liang --- arch/x86/events/intel/cstate.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/arch/x86/events/intel/cstate.c b/arch/x86/events/intel/cstate.c index 433399069e27..c6262b154c3a 100644 --- a/arch/x86/events/intel/cstate.c +++ b/arch/x86/events/intel/cstate.c @@ -40,7 +40,7 @@ * Model specific counters: * MSR_CORE_C1_RES: CORE C1 Residency Counter * perf code: 0x00 - * Available model: SLM,AMT,GLM,CNL,TNT,ADL + * Available model: SLM,AMT,GLM,CNL,ICX,TNT,ADL * Scope: Core (each processor core has a MSR) * MSR_CORE_C3_RESIDENCY: CORE C3 Residency Counter * perf code: 0x01 @@ -50,8 +50,8 @@ * MSR_CORE_C6_RESIDENCY: CORE C6 Residency Counter * perf code: 0x02 * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW, - * SKL,KNL,GLM,CNL,KBL,CML,ICL,TGL, - * TNT,RKL,ADL + * SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX, + * TGL,TNT,RKL,ADL * Scope: Core * MSR_CORE_C7_RESIDENCY: CORE C7 Residency Counter * perf code: 0x03 @@ -61,7 +61,7 @@ * MSR_PKG_C2_RESIDENCY: Package C2 Residency Counter. * perf code: 0x00 * Available model: SNB,IVB,HSW,BDW,SKL,KNL,GLM,CNL, - * KBL,CML,ICL,TGL,TNT,RKL,ADL + * KBL,CML,ICL,ICX,TGL,TNT,RKL,ADL * Scope: Package (physical package) * MSR_PKG_C3_RESIDENCY: Package C3 Residency Counter. * perf code: 0x01 @@ -72,8 +72,8 @@ * MSR_PKG_C6_RESIDENCY: Package C6 Residency Counter. * perf code: 0x02 * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW, - * SKL,KNL,GLM,CNL,KBL,CML,ICL,TGL, - * TNT,RKL,ADL + * SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX, + * TGL,TNT,RKL,ADL * Scope: Package (physical package) * MSR_PKG_C7_RESIDENCY: Package C7 Residency Counter. * perf code: 0x03 @@ -566,6 +566,14 @@ static const struct cstate_model icl_cstates __initconst = { BIT(PERF_CSTATE_PKG_C10_RES), }; +static const struct cstate_model icx_cstates __initconst = { + .core_events = BIT(PERF_CSTATE_CORE_C1_RES) | + BIT(PERF_CSTATE_CORE_C6_RES), + + .pkg_events = BIT(PERF_CSTATE_PKG_C2_RES) | + BIT(PERF_CSTATE_PKG_C6_RES), +}; + static const struct cstate_model adl_cstates __initconst = { .core_events = BIT(PERF_CSTATE_CORE_C1_RES) | BIT(PERF_CSTATE_CORE_C6_RES) | @@ -664,6 +672,9 @@ static const struct x86_cpu_id intel_cstates_match[] __initconst = { X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_L, &icl_cstates), X86_MATCH_INTEL_FAM6_MODEL(ICELAKE, &icl_cstates), + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, &icx_cstates), + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, &icx_cstates), + X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE_L, &icl_cstates), X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE, &icl_cstates), X86_MATCH_INTEL_FAM6_MODEL(ROCKETLAKE, &icl_cstates), -- 2.17.1