Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1325889pxb; Wed, 10 Feb 2021 06:03:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJynnrnyUkrUwbiMqT2nRN09N5uBIsZhYnUUe6GfgkhsAQZIZRVSbwh59BVf94qYKpN7hPfp X-Received: by 2002:a17:906:d18e:: with SMTP id c14mr3141223ejz.302.1612965835143; Wed, 10 Feb 2021 06:03:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612965835; cv=none; d=google.com; s=arc-20160816; b=pvSU+vUARDgqRumbahSrmLdoeXXaGsFFx/s67ldtCTyH0osDwVo5n0IR6Mp+/+FRVe Iws1GvysXBlFtVw42aAWWi/r5QHRrcM3dVJ1+aJiqQkFrbyY1iYOCSqmGFDHgmEEcBzj ueTsZDaCmULcEC3SIiISze4camBoUyjNsIx+7KkQGaXkto3Y+gY+NZUPRsJr8NILywPw d3DfQwODlbCkGR33X5Ow0jJE4V18iQJ3xFgfcK+8vcjYRmC4AyAITcsHXMLmP8uX9ZhZ zdhcaktpLGoBbuX2d3geRhtLiCqR6MMzaUfgYrx7SPkECQCc8pjYv5sleKscrrZoUk0F sMYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:robot-unsubscribe :robot-id:message-id:mime-version:references:in-reply-to:cc:subject :to:reply-to:sender:from:dkim-signature:dkim-signature:date; bh=hX916SXnRhDn+Z+tHpMlZ/5GKLNDWSrhS4/UgmLwAww=; b=Jb2ihLXJq7C+q664aGy8Aj81Hs8Jn5bz5Xbi5qZJLRpQtsJ1gE88C1v/75GiaupiST CNTAZPaL2GLqvW3SAa9DleTwHkAXoztxgvcO+aDanthRwK8fqvy+s0mnub+NClVN2WV1 fKQnExg70LZoJhrJnjDRFyT0tLBB/nlcQcHvrEHQAJuE2G6Ak6LzYjro6nFBlzk/NqFG vA5DZVMRo8Nrpigxw1ZTV/TPivaMfO71GY73Nq61yWNUeWtl4T0Mh8libn4PKrN26ep0 /hwWK1dg1XsQrZ/OMpLXazvIVAiXRBxhrkNbaz/+m0TVIEu83+pNZcuRe4n7wKnBn3Dl T1zA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=K4D5JQJz; dkim=neutral (no key) header.i=@linutronix.de header.b=ehMotstM; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m30si1602822edj.75.2021.02.10.06.03.29; Wed, 10 Feb 2021 06:03:55 -0800 (PST) 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; dkim=pass header.i=@linutronix.de header.s=2020 header.b=K4D5JQJz; dkim=neutral (no key) header.i=@linutronix.de header.b=ehMotstM; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231944AbhBJOCZ (ORCPT + 99 others); Wed, 10 Feb 2021 09:02:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231754AbhBJOAZ (ORCPT ); Wed, 10 Feb 2021 09:00:25 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E819C06178A; Wed, 10 Feb 2021 05:59:32 -0800 (PST) Date: Wed, 10 Feb 2021 13:59:30 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1612965570; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hX916SXnRhDn+Z+tHpMlZ/5GKLNDWSrhS4/UgmLwAww=; b=K4D5JQJzcquO1TA3JuJifrj304Jlk3GTSxmS8CQmGJBTTBUbDTqQ4YecUZZD8wKIGzPEvT f29mNKbE8VnpPW8PD7iO+HBG46Z3mJuzHuWliGr4wzpZOG9VBibRs2wT2mFQlWIG30k94R AgxasldI0j1mxpM2Lwalr/VQOhcISIlYpcG7KK21VW5m20o9qK0G5pXfQsFTCtVqdbnLiX k9UG9kfmtCUWL8ISNDrSky0V3wswCfQ5xVrzAsmJvBn5Y6FN6GKjisi/P+wJXfbqKYAQWB 9ZDXznwQ9YMGQI2hitT0qGTs8Y7C/f88JsDT4zGsgjxnKAisPqZpU5mcsxMIUQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1612965570; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hX916SXnRhDn+Z+tHpMlZ/5GKLNDWSrhS4/UgmLwAww=; b=ehMotstMOnJwWnSwZbVSZjvQFSs5bnuq5BIes8UH1sEcafVnD5fiHRz3bQvlQibSqL/GnX 8U9BRtTXXugZHeAQ== From: "tip-bot2 for Zhang Rui" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: perf/core] perf/x86/rapl: Only check lower 32bits for RAPL energy counters Cc: Zhang Rui , "Peter Zijlstra (Intel)" , Andi Kleen , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20210204161816.12649-2-rui.zhang@intel.com> References: <20210204161816.12649-2-rui.zhang@intel.com> MIME-Version: 1.0 Message-ID: <161296557018.23325.4865146815939567306.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the perf/core branch of tip: Commit-ID: b6f78d3fba7f605f673185d7292d84af7576fdc1 Gitweb: https://git.kernel.org/tip/b6f78d3fba7f605f673185d7292d84af7576fdc1 Author: Zhang Rui AuthorDate: Fri, 05 Feb 2021 00:18:15 +08:00 Committer: Peter Zijlstra CommitterDate: Wed, 10 Feb 2021 14:44:55 +01:00 perf/x86/rapl: Only check lower 32bits for RAPL energy counters In the RAPL ENERGY_COUNTER MSR, only the lower 32bits represent the energy counter. On previous platforms, the higher 32bits are reverved and always return Zero. But on Intel SapphireRapids platform, the higher 32bits are reused for other purpose and return non-zero value. Thus check the lower 32bits only for these ENERGY_COUTNER MSRs, to make sure the RAPL PMU events are not added erroneously when higher 32bits contain non-zero value. Signed-off-by: Zhang Rui Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Andi Kleen Link: https://lkml.kernel.org/r/20210204161816.12649-2-rui.zhang@intel.com --- arch/x86/events/rapl.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arch/x86/events/rapl.c b/arch/x86/events/rapl.c index 7dbbeaa..7ed25b2 100644 --- a/arch/x86/events/rapl.c +++ b/arch/x86/events/rapl.c @@ -523,12 +523,15 @@ static bool test_msr(int idx, void *data) return test_bit(idx, (unsigned long *) data); } +/* Only lower 32bits of the MSR represents the energy counter */ +#define RAPL_MSR_MASK 0xFFFFFFFF + static struct perf_msr intel_rapl_msrs[] = { - [PERF_RAPL_PP0] = { MSR_PP0_ENERGY_STATUS, &rapl_events_cores_group, test_msr }, - [PERF_RAPL_PKG] = { MSR_PKG_ENERGY_STATUS, &rapl_events_pkg_group, test_msr }, - [PERF_RAPL_RAM] = { MSR_DRAM_ENERGY_STATUS, &rapl_events_ram_group, test_msr }, - [PERF_RAPL_PP1] = { MSR_PP1_ENERGY_STATUS, &rapl_events_gpu_group, test_msr }, - [PERF_RAPL_PSYS] = { MSR_PLATFORM_ENERGY_STATUS, &rapl_events_psys_group, test_msr }, + [PERF_RAPL_PP0] = { MSR_PP0_ENERGY_STATUS, &rapl_events_cores_group, test_msr, false, RAPL_MSR_MASK }, + [PERF_RAPL_PKG] = { MSR_PKG_ENERGY_STATUS, &rapl_events_pkg_group, test_msr, false, RAPL_MSR_MASK }, + [PERF_RAPL_RAM] = { MSR_DRAM_ENERGY_STATUS, &rapl_events_ram_group, test_msr, false, RAPL_MSR_MASK }, + [PERF_RAPL_PP1] = { MSR_PP1_ENERGY_STATUS, &rapl_events_gpu_group, test_msr, false, RAPL_MSR_MASK }, + [PERF_RAPL_PSYS] = { MSR_PLATFORM_ENERGY_STATUS, &rapl_events_psys_group, test_msr, false, RAPL_MSR_MASK }, }; /*