Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3027386pxj; Sun, 6 Jun 2021 23:39:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyM0Ct7GHir7qKpQMVL8E72FdOlumjiKxg+0xxUUMPV5ibMC1YhaT8wviVbIf/xpx6q5Ry7 X-Received: by 2002:a17:906:3411:: with SMTP id c17mr1446401ejb.480.1623047993974; Sun, 06 Jun 2021 23:39:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623047993; cv=none; d=google.com; s=arc-20160816; b=hu5X/WnHBvdjwGuuFs6tKZviThEn5aoXEY4JrvwWIaLsVMrT9Bh1X0UtSLEi55XR2w Ctz3TmCBjgp1nANeaQKZnbAmlnrpm8qnOkeYPnIvPFIiCe/fkffTUFgEpGGs9ovVKLSw H/YGgfAfxSlVOriBeG4ilQyBKIalURK/1tYOL4jHMhg8K5y6MygrTe4nZOs2WB0qTtAK bsVqaTrfWz74KVb4KLIBWv8q6WffxAWdjP2MClhWAvkdUSABgHQ/fQB1tiG9qGG1i9v9 3JFG4FjcYVZb0tRpr+fiDGmONjN9dBB/UfBVT2CeyPGYLfLegdED0fQxB9Zzxk3K+CSg XcYw== 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=FijzWGh6r7OEdoJ9p0fQugVRxQAk72ADkM8CTeBt3LWFd4UFEEOcbc3drlFyHlxUP9 AQ33y+h6BnuRr9JeSWa7K8Z4I7H4QJtNO5MDALAZh8uXP1liGeMAZG06ip/OgfGZHRVO OdSzs4Qeo0sUNOv0eOPZYn2tZlNennHDceYhzArmayMidmfmqOa5xOXPMLjXPOOpEebi Tp5iaqf0P9GDWOhHF/B5yCoIi5LYYl+nI2BUC528jNvicbjv6s6wxz5z3JZh9D5nOMBN 4OF8GwqBN42V9AuJQDxp+xYEfuWLCWAkltSEXT2ETKS7kSjbfN6ISqsemrFSBRNrfIdd ugTA== 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 11si7865270ejm.321.2021.06.06.23.39.31; Sun, 06 Jun 2021 23:39:53 -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 S230383AbhFGGht (ORCPT + 99 others); Mon, 7 Jun 2021 02:37:49 -0400 Received: from mga12.intel.com ([192.55.52.136]:7552 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230242AbhFGGht (ORCPT ); Mon, 7 Jun 2021 02:37:49 -0400 IronPort-SDR: kMCDUTvk8kbnronzQhDqgJttRqyrJHx6c83qPjaHQklYrswcVsMd36Ohpaw3DkxpvBgldWLRIs 9+szFXdutzJQ== X-IronPort-AV: E=McAfee;i="6200,9189,10007"; a="184251047" X-IronPort-AV: E=Sophos;i="5.83,254,1616482800"; d="scan'208";a="184251047" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jun 2021 23:35:58 -0700 IronPort-SDR: 6JFMm9SbdzYxAcjOvzePy8ttAA9IqZryiTGG/ecPFtj+XccTZ5uxjRgdx49KaVHi+PtLCjIXZb /n32W2dzru7A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,254,1616482800"; d="scan'208";a="447379235" Received: from power-sh.sh.intel.com ([10.239.48.130]) by orsmga008.jf.intel.com with ESMTP; 06 Jun 2021 23:35:55 -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 Subject: [PATCH] perf/x86/cstate: Add ICELAKE_X and ICELAKE_D support Date: Mon, 7 Jun 2021 14:46:03 +0800 Message-Id: <20210607064603.26354-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