[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1484699961.3886.42.camel@linux.intel.com>
Date: Tue, 17 Jan 2017 16:39:21 -0800
From: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
To: Darren Hart <dvhart@...radead.org>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] platform: x86: Support Turbo Boost Max for non HWP
systems
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 <srinivas.pandruvada@...ux.intel
> > .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
Powered by blists - more mailing lists