Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1052349ybz; Thu, 16 Apr 2020 01:48:02 -0700 (PDT) X-Google-Smtp-Source: APiQypLaASUU0rgi4/LeHODcXDqvLhBy/uCYK7yXfb/o8kvBcivEP1exAGH923rslYd1ha1+v38Z X-Received: by 2002:a17:907:118b:: with SMTP id uz11mr8385440ejb.89.1587026881937; Thu, 16 Apr 2020 01:48:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587026881; cv=none; d=google.com; s=arc-20160816; b=Ceiz3C53Cz+2odWS3o9fbQSoGtlumEL3Z8x2HGtMRnJFwUXwmWOrkAPFDj5qiw1dD6 Mf1PR/pcpe20kFdbmzJxZDe1sc9JSx/zcbBs9HfCWvtUHq2KcvVxKZjZYpmMR5iDWv9B joBmvomgezCng+zGRYqp+vYBXgBenf0LvjOLGBmnrDr4WYFZymNtBtf+LtTxUg7dpBmd ZSep0OrLQy3OLoqQPUX7UTxv/ECmcHeCfXqHW5NQu4J8NBEE3F6iBwA4sMo6r6jTQgfj wxKLEM2M8IDZSweCAaDCiKVPXQpZfopFveJpz1bUbbzzEsIoE5ecNrGPueXbDZ7HWkDM O6vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id; bh=+9kG+qfA1LjJ7sJOOq1mZn2hJ3TX8aeJw1AEWsWmefE=; b=SL9w1CrcMtlhJmsCX3b6aRAU0aphRjio5YKfobC9G7bVxnCtC1oeqF3SfVrdqaJhDX WTTRdGuBDCk46GgPQjfMmOj4cScjlVmGsJ1bs+zmQlj1PW4uug4lGycImZX6d1hOOZZG R3js4zXCzZvV08k7Gd7+gXtZFLdZC5H26h+YRwpvU23GFRDEBtpU8OgBj3J4pzDJqdoP sg/NWgISlA9KEjpXk3Kb1wBGSYQzM/nwjfhn/nBQzrJeF+dQqA1Trwj0efbvOb+gtd99 Of67M0nTY6bppo7AdS2AVbOYiwcfZx67rnxUYoYCX8StGOmyaw2Zeo6ubuMkEO6Z1nDt GYOQ== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g9si3891394edu.268.2020.04.16.01.47.39; Thu, 16 Apr 2020 01:48:01 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2502580AbgDPIqh (ORCPT + 99 others); Thu, 16 Apr 2020 04:46:37 -0400 Received: from mx2.suse.de ([195.135.220.15]:60718 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2502496AbgDPIlR (ORCPT ); Thu, 16 Apr 2020 04:41:17 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 2E2FFACAD; Thu, 16 Apr 2020 08:40:31 +0000 (UTC) Message-ID: <1587026430.32139.29.camel@suse.cz> Subject: Re: [PATCH] x86, smpboot: Disable frequency invariance when it's unsupported From: Giovanni Gherdovich To: Like Xu Cc: Peter Zijlstra , Ingo Molnar , Doug Smythies , "Rafael J . Wysocki" , LKML Date: Thu, 16 Apr 2020 10:40:30 +0200 In-Reply-To: References: <20200416020700.167294-1-like.xu@linux.intel.com> <1587017284.32139.20.camel@suse.cz> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2020-04-16 at 15:01 +0800, Like Xu wrote: > On 2020/4/16 14:08, Giovanni Gherdovich wrote: > > [...] > > I've just sent fixes for these two problems here: > > https://lore.kernel.org/lkml/20200416054745.740-1-ggherdovich@suse.cz/ > > Hence the "less than 4 cores" comment is weird for C6562 > but the use of "1C turbo" looks good to me. Right, your C6562 has 24 cores, (I think) it doesn't support turbo at all, declares 1C turbo equal to the base frequency and all other turbo ratios (2C, 4C etc) as zero. The commit message of the fix I sent doesn't describe exactly your situation but the patch addresses your case nonetheless. Some more comments below. On Thu, 2020-04-16 at 15:01 +0800, Like Xu wrote: > On 2020/4/16 14:08, Giovanni Gherdovich wrote: > > [...] > > Hello Like Xu, > > > > thanks for reporting this and for the patch. My preferred solution for when > > the 4 cores turbo freq is detected as zero would be to look for the 1 core turbo > > frequency, as we're likely on a machine with less than 4 cores. Is that the > > case on your Atom C6562? I couldn't find it on ark.intel.com. > > The Atom C6562 is "24 cores" based on > https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/atom-p5900-product-brief.pdf > > #define MSR_PLATFORM_INFO 0x000000ce > > the value for this msr is 80820f9801600 > > #define MSR_TURBO_RATIO_LIMIT 0x000001ad > > the value for this msr is 16 > > I know you didn't test your feature on this platform, > but combinations of other various values are also possible > (unless it's made clear in the specification). That's an interesting CPU; let me indulge in a couple of comments/questions for my own curiosity. From the document you link, the product name in the Intel catalogue seems to be Atom P5962B. Apparently it belongs to the "P Series" just launched: https://ark.intel.com/content/www/us/en/ark/products/series/202693/intel-atom-processor-p-series.html and your product brief suggests it's meant for installation in 5G base stations. 1) Can you share the output of "turbostat --interval 1 sleep 0"? I'm interested in the headers of the output, where all the various pm-related MSRs are decoded. 2) Despite not being in the Intel SDM, I was under the assumption that all Intel CPUs declare the "all-cores turbo" frequency, but it's not the case for this one. Eg: if you have 24 cores, somewhere in your MSRs I'd expect to find "24C turbo" (or even "30C turbo", anything greater or equal than 24). My understanding from https://ark.intel.com/content/www/us/en/ark/products/202682/intel-atom-processor-p5962b-27m-cache-2-20-ghz.html is that this CPU doesn't support turbo boost at all; in other CPUs without turbo I've seen MSRs saying the all-cores turbo freq is equal to the base freq (for compatibility I suppose). Here MSR_TURBO_RATIO_LIMIT says that 1C turbo is the same as base frequency (2.2GHz), but turbo for larger sets of cores is declared as zero, which I find a little odd. 3) The parsing of MSRs in the frequency invariance code is modeled after turbostat, and classifies CPUs in 5 groups: Atom up to Goldmont, Atom from Goldmont onwards, Xeon Phi, Xeon Scalable Processors onwards and "generic Core". As you've already found out from where your panic happens, your Atom falls into the "generic Core" category (function core_set_max_freq_ratio()), but given that it's an Atom and it's been released this very quarter I'd have guessed it to behave like a Goldmont. Something for me to keep in mind. Thanks, Giovanni Gherdovich