Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2372159ybl; Thu, 19 Dec 2019 12:25:17 -0800 (PST) X-Google-Smtp-Source: APXvYqzwM35px7t++p2dt9LBBT5OXkrwCofms9bYXLWax7adD6PNDcUbFe2STYEeVlb6cfN0BnO3 X-Received: by 2002:a9d:6f85:: with SMTP id h5mr10805761otq.19.1576787117789; Thu, 19 Dec 2019 12:25:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576787117; cv=none; d=google.com; s=arc-20160816; b=hhDw8otGXtr1QG+02OCcMf9UdhVSekG6Oj2L088Y6mIXNffML2zIB1ei6x6nGNCXh6 BB8frZoSaTlraCyLZQWAyxfRz/F86bHMaJelLaU1ha9XN/JVdgmD051rPmDL03RJHClE oT5YCU37vHtUpstHihsZ/W7FwJKZVzig/19vp5Fjk7YAyJoeM3+ZZT+6x+sZm839oMIV wPYVP6KPTa6uAoohk+9P9Tf42AUvglHGLhw2S+EF+gu+eZ4PJt81M63iObZBZOS7lnS7 ob0gh9BDEcqDNQ9TxHvtdRX4QRfrSDdeOEw8h2ol4U4r/sNgz20l64rxLP/ZUQXJC16U kE6g== 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=n1YNJ4airx+8T/cmDngF9ZlkbvrFhQu64Q00yhQHSkE=; b=G3k03UqiYEV2tVyevrsYlyF8wTLM2phElU48XW4ZDzdr+cu3Q/O1+JL6+2AvlfJPil ex9H+5eSmixTtu7oL59Lqtg5NVTQ6jsBJklZzHJLQKS+rsKwDEE2WvIEmpY5CWkJcfXv hQgBRYm8g8fLwTfc6stgS6lcQ/waH4MCS0E4YBYvSkbNIlg8fghwHyWM7DirRuHYd5o6 6eY5d/Wy7MvHIjbxz8FWjHLkD9SIm/1zow6Tf/segmkf+bbBkE7RjUAtnZG8qSEwa/I7 uxK4dGrS5u665OsUFOfUtEzgedyB+uebEQ//AbwJPaxT9VNr9nPoSF8tMoc9LHu7Ldbt C7sg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a5si3905280oto.204.2019.12.19.12.25.06; Thu, 19 Dec 2019 12:25:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727144AbfLSUXb (ORCPT + 99 others); Thu, 19 Dec 2019 15:23:31 -0500 Received: from mx2.suse.de ([195.135.220.15]:48472 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726869AbfLSUXb (ORCPT ); Thu, 19 Dec 2019 15:23:31 -0500 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 74D57B2EF; Thu, 19 Dec 2019 20:23:29 +0000 (UTC) Message-ID: <1576787357.8929.12.camel@suse.cz> Subject: Re: [PATCH v4 2/6] x86,sched: Add support for frequency invariance on SKYLAKE_X From: Giovanni Gherdovich To: Peter Zijlstra Cc: Srinivas Pandruvada , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Len Brown , "Rafael J . Wysocki" , x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Mel Gorman , Matt Fleming , Viresh Kumar , Juri Lelli , Paul Turner , Vincent Guittot , Quentin Perret , Dietmar Eggemann , Doug Smythies Date: Thu, 19 Dec 2019 21:29:17 +0100 In-Reply-To: <20191218200624.GI11457@worktop.programming.kicks-ass.net> References: <20191113124654.18122-1-ggherdovich@suse.cz> <20191113124654.18122-3-ggherdovich@suse.cz> <20191218200624.GI11457@worktop.programming.kicks-ass.net> 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 Wed, 2019-12-18 at 21:06 +0100, Peter Zijlstra wrote: > On Wed, Nov 13, 2019 at 01:46:50PM +0100, Giovanni Gherdovich wrote: > > The scheduler needs the ratio freq_curr/freq_max for frequency-invariant > > accounting. On SKYLAKE_X CPUs set freq_max to the highest frequency that can > > be sustained by a group of at least 4 cores. > > > > From the changelog of commit 31e07522be56 ("tools/power turbostat: fix > > decoding for GLM, DNV, SKX turbo-ratio limits"): > > > > > Newer processors do not hard-code the the number of cpus in each bin > > > to {1, 2, 3, 4, 5, 6, 7, 8} Rather, they can specify any number > > > of CPUS in each of the 8 bins: > > > > > > eg. > > > > > > ... > > > 37 * 100.0 = 3600.0 MHz max turbo 4 active cores > > > 38 * 100.0 = 3700.0 MHz max turbo 3 active cores > > > 39 * 100.0 = 3800.0 MHz max turbo 2 active cores > > > 39 * 100.0 = 3900.0 MHz max turbo 1 active cores > > > > > > could now look something like this: > > > > > > ... > > > 37 * 100.0 = 3600.0 MHz max turbo 16 active cores > > > 38 * 100.0 = 3700.0 MHz max turbo 8 active cores > > > 39 * 100.0 = 3800.0 MHz max turbo 4 active cores > > > 39 * 100.0 = 3900.0 MHz max turbo 2 active cores > > > > This encoding of turbo levels applies to both SKYLAKE_X and GOLDMONT/GOLDMONT_D, > > but we treat these two classes in separate commits because their freq_max > > values need to be different. For SKX we prefer a lower freq_max in the ratio > > freq_curr/freq_max, allowing load and utilization to overshoot and the > > schedutil governor to be more performance-oriented. Models from the Atom > > series (such as GOLDMONT*) are handled in a forthcoming commit as they have to > > favor power-efficiency over performance. > > Can we at least use a single function to decode both? A little like the > below. I'm not married to the naming, but I think it is a little silly > to have 2 different functions to decode the exact same MSRs. > > (one could even go as far as to make a boot param to override the {1,4} > default core count for these things) Sure, that was actually a gross oversight on my part for not seeing that. Thanks for catching it and sketching a solution. Giovanni