From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751346AbdARAjX (ORCPT ); Tue, 17 Jan 2017 19:39:23 -0500 Received: from mga01.intel.com ([192.55.52.88]:29381 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751158AbdARAjW (ORCPT ); Tue, 17 Jan 2017 19:39:22 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,247,1477983600"; d="scan'208";a="923718638" Message-ID: <1484699961.3886.42.camel@linux.intel.com> Subject: Re: [PATCH] platform: x86: Support Turbo Boost Max for non HWP systems From: Srinivas Pandruvada To: Darren Hart Cc: linux-kernel@vger.kernel.org Date: Tue, 17 Jan 2017 16:39:21 -0800 In-Reply-To: <20170118003227.GC2599@wisp> References: <1484166994-95577-1-git-send-email-srinivas.pandruvada@linux.intel.com> <20170118003227.GC2599@wisp> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2017-01-17 at 16:32 -0800, Darren Hart wrote: > On Wed, Jan 11, 2017 at 12:36:34PM -0800, Srinivas Pandruvada wrote: > > > > On platforms supporting Intel Turbo Boost Max Technology 3.0, the > > maximum turbo frequencies (turbo ratio) of some cores in a CPU > > package > > may be higher than the other cores in the same package.  In that > > case, > > better performance can be achieved by making the scheduler prefer > > to run > > tasks on the CPUs with higher max turbo frequencies. > > > > On Intel® Broadwell Xeon systems, it is optional to turn on HWP > > (Hardware P-States). When HWP is not turned on, the BIOS doesn't > > present required CPPC (Collaborative Processor Performance Control) > > tables. This table is used to get the per CPU core maximum > > performance > > ratio and inform scheduler (in cpufreq/intel_pstate driver). > > > > On such systems the maximum performance ratio can be read via over > > clocking (OC) mailbox interface for each CPU. This interface is not > > architectural and can change for every model of processors. > > > > This driver reads maximum performance ratio of each CPU and set up > > the scheduler priority metrics. In this way scheduler can prefer > > CPU > > with higher performance to schedule tasks. > > > > Signed-off-by: Srinivas Pandruvada > .com> > > Thanks Srinivas, > > Driver queued to testing with the following changes, but see below... > > diff --git a/drivers/platform/x86/intel_turbo_boost_max_enum.c > b/drivers/platform/x86/intel_turbo_boost_max_enum.c > index 5ad3257..5df43c9 100644 > --- a/drivers/platform/x86/intel_turbo_boost_max_enum.c > +++ b/drivers/platform/x86/intel_turbo_boost_max_enum.c > @@ -1,6 +1,7 @@ >  /* >   * Intel Turbo Boost Max Technology 3.0 legacy (non HWP) enumeration > driver >   * Copyright (c) 2017, Intel Corporation. > + * All rights reserved. > > This is the preferred format last time I asked Intel legal. > >   * >   * This program is free software; you can redistribute it and/or > modify it >   * under the terms and conditions of the GNU General Public License, > @@ -37,10 +38,8 @@ >   >  static int get_oc_core_priority(unsigned int cpu) >  { > -       u64 value; > -       u64 cmd = OC_MAILBOX_FC_CONTROL_CMD; > -       int i; > -       int ret; > +       u64 value, cmd = OC_MAILBOX_FC_CONTROL_CMD; > +       int ret, i; >   > Subjective, but we prefer to save the lines. > >         /* Issue favored core read command */ >         value = cmd << MSR_OC_MAILBOX_CMD_OFFSET; > > > > > > --- > >  drivers/platform/x86/Kconfig                      |  10 ++ > >  drivers/platform/x86/Makefile                     |   1 + > >  drivers/platform/x86/intel_turbo_boost_max_enum.c | 153 > > ++++++++++++++++++++++ > > Regarding the name, two nits: > > 1) It's soooooooooooooooo long..... and the CONFIG_* too. > 2) Since it is BDW specifc, how about: > > intel_bdw_turbo.c > CONFIG_INTEL_BDW_TURBO We should add _MAX_3 as this is a technology more than simple TURBO. CONFIG_INTEL_BDW_TURBO_MAX_3 > > I don't think "max enumeration" conveys any meaning to most readers. > > Thoughts? Fine with me with the above comment. Thanks, Srinivas