Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4649742pxj; Wed, 12 May 2021 10:03:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwZ4+8frnBCMhqJRTKNSf6RqQdaHkR5kugrVtbdSXjcQiohfVQzz09qsoDah8jKAGPxrjvn X-Received: by 2002:a05:6402:350d:: with SMTP id b13mr44639531edd.21.1620839011454; Wed, 12 May 2021 10:03:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620839011; cv=none; d=google.com; s=arc-20160816; b=tKorGQFJLNNEZwMnEFyjXjktohcE0UH34IAfa4j8YEA6bgPuMmhwEis3k6kdiA/z1D FHdf1+DPmiOU2DPPEKgyeARsvtzQ4FSTIVZOOJTt3q9PCfX6bl8DniBoOG7Yq0mcDZ1k sIXe3adnZSMCH8ksl5ttCzlQfz/t8D3y0ap1T0YAEndFSOph0t1cg0VNrMC2ra/I3DFk cCsUGPXZD1Z1566MTzuPS7cP0w8QvStxn92bJnXBWpFIYgnoJOeQPIxAswwdRAQSPtcx 7q5GtXpkP/9niriidluSW71gc6KJ/8v0RftRC9YG9F0njSMGNQIvCO2DFKBFbRP0g99/ cbSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=kGYkQlCp2jkhmmFmmYU3pWtrULyNUyyYLEqeYI5EWIk=; b=wihqnDtEdeXKQuCm0+AgeUnP2d8ZYAzChvxafcOHAnrWjw+pWzHoaqjzBTxoeByKDo 8IEzPiHMSzo9T5pHN/2bkbxEVGqkkSlQviFueWg+i9YwFkLH7Ay2tCdHTd2o7WGv+pdI f3Ywt4jmKTOQASu6OQ3IyIQJHy8CVnym7QyhPDl48wqbOjLrGhGctd/UqIUtIyTMbcqc IoKBgeWRV3A3eJjJQbyn3S6Amz8Gt+uF7pKK/e8jYSxTQzVL3W6IBJsyLLoQphYpyrMP 8K6SyCbQWI8MsWYnIgPyc953/c4tk5dVzyUD9LwFqp0mxUAzzk1UKDD9Ufst+Iy/SFzw Jsmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nhiUhDCa; 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=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a7si353804ejx.527.2021.05.12.10.03.06; Wed, 12 May 2021 10:03:31 -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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nhiUhDCa; 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=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344146AbhELRBE (ORCPT + 99 others); Wed, 12 May 2021 13:01:04 -0400 Received: from mail.kernel.org ([198.145.29.99]:38260 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237977AbhELP45 (ORCPT ); Wed, 12 May 2021 11:56:57 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1B9E361C1A; Wed, 12 May 2021 15:29:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620833363; bh=FnV7ww8KXpESLpPrKCpJtJBuHdlb7RWXZ+gZw6rRHyo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nhiUhDCa7IAbqLO8wYwByN2DO+kicDfuBXS+WOtcdUYqPfIZgZ2UPQOq/xTyesvVc F3dP9C0rLnFUcbaMAirScyVOfvDqGEf2Tge40ahHXvo6g3+PunsjwW5PZw3K2nDl6d W0f41bpBVW0zCasSUQBtRQd/PJ49CmnbnwZzV3kI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Len Brown Subject: [PATCH 5.11 121/601] Revert "tools/power turbostat: adjust for temperature offset" Date: Wed, 12 May 2021 16:43:18 +0200 Message-Id: <20210512144831.816707747@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144827.811958675@linuxfoundation.org> References: <20210512144827.811958675@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Len Brown commit b2b94be787bf47eedd5890a249f3318bf9f1f1d5 upstream. This reverts commit 6ff7cb371c4bea3dba03a56d774da925e78a5087. Apparently the TCC offset should not be used to adjust what temperature we show the user after all. (on most systems, TCC offset is 0, FWIW) Fixes: 6ff7cb371c4b Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman --- tools/power/x86/turbostat/turbostat.c | 62 ++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 29 deletions(-) --- a/tools/power/x86/turbostat/turbostat.c +++ b/tools/power/x86/turbostat/turbostat.c @@ -4822,33 +4822,12 @@ double discover_bclk(unsigned int family * below this value, including the Digital Thermal Sensor (DTS), * Package Thermal Management Sensor (PTM), and thermal event thresholds. */ -int read_tcc_activation_temp() +int set_temperature_target(struct thread_data *t, struct core_data *c, struct pkg_data *p) { unsigned long long msr; - unsigned int tcc, target_c, offset_c; - - /* Temperature Target MSR is Nehalem and newer only */ - if (!do_nhm_platform_info) - return 0; - - if (get_msr(base_cpu, MSR_IA32_TEMPERATURE_TARGET, &msr)) - return 0; + unsigned int target_c_local; + int cpu; - target_c = (msr >> 16) & 0xFF; - - offset_c = (msr >> 24) & 0xF; - - tcc = target_c - offset_c; - - if (!quiet) - fprintf(outf, "cpu%d: MSR_IA32_TEMPERATURE_TARGET: 0x%08llx (%d C) (%d default - %d offset)\n", - base_cpu, msr, tcc, target_c, offset_c); - - return tcc; -} - -int set_temperature_target(struct thread_data *t, struct core_data *c, struct pkg_data *p) -{ /* tcc_activation_temp is used only for dts or ptm */ if (!(do_dts || do_ptm)) return 0; @@ -4857,18 +4836,43 @@ int set_temperature_target(struct thread if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE) || !(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) return 0; + cpu = t->cpu_id; + if (cpu_migrate(cpu)) { + fprintf(outf, "Could not migrate to CPU %d\n", cpu); + return -1; + } + if (tcc_activation_temp_override != 0) { tcc_activation_temp = tcc_activation_temp_override; - fprintf(outf, "Using cmdline TCC Target (%d C)\n", tcc_activation_temp); + fprintf(outf, "cpu%d: Using cmdline TCC Target (%d C)\n", + cpu, tcc_activation_temp); return 0; } - tcc_activation_temp = read_tcc_activation_temp(); - if (tcc_activation_temp) - return 0; + /* Temperature Target MSR is Nehalem and newer only */ + if (!do_nhm_platform_info) + goto guess; + + if (get_msr(base_cpu, MSR_IA32_TEMPERATURE_TARGET, &msr)) + goto guess; + + target_c_local = (msr >> 16) & 0xFF; + + if (!quiet) + fprintf(outf, "cpu%d: MSR_IA32_TEMPERATURE_TARGET: 0x%08llx (%d C)\n", + cpu, msr, target_c_local); + + if (!target_c_local) + goto guess; + + tcc_activation_temp = target_c_local; + + return 0; +guess: tcc_activation_temp = TJMAX_DEFAULT; - fprintf(outf, "Guessing tjMax %d C, Please use -T to specify\n", tcc_activation_temp); + fprintf(outf, "cpu%d: Guessing tjMax %d C, Please use -T to specify\n", + cpu, tcc_activation_temp); return 0; }