diff mbox

[v2,3/3] intel_pstate: Declare pid_params/pstate_funcs/hwp_active __read_mostly

Message ID 1467022038-924-4-git-send-email-jszhang@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Rafael Wysocki
Headers show

Commit Message

Jisheng Zhang June 27, 2016, 10:07 a.m. UTC
pid_params is written once by copy_pid_params() during initialization,
and thereafter is mostly read by hot path intel_pstate_update_util().
The read of pid_params gets more after commit a4675fbc4a7a ("cpufreq:
intel_pstate: Replace timers with utilization update callbacks")

pstate_funcs is written once by copy_cpu_funcs() during initialization,
and thereafter is mostly read by hot path intel_pstate_update_util()

hwp_active is written to once during initialization and thereafter is
mostly read by hot path intel_pstate_update_util().

The fact that they are mostly read and not written to makes them
candidates for __read_mostly declarations.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
---
 drivers/cpufreq/intel_pstate.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

srinivas pandruvada June 27, 2016, 5:29 p.m. UTC | #1
On Mon, 2016-06-27 at 18:07 +0800, Jisheng Zhang wrote:
> pid_params is written once by copy_pid_params() during
> initialization,
> and thereafter is mostly read by hot path intel_pstate_update_util().
> The read of pid_params gets more after commit a4675fbc4a7a ("cpufreq:
> intel_pstate: Replace timers with utilization update callbacks")
> 
> pstate_funcs is written once by copy_cpu_funcs() during
> initialization,
> and thereafter is mostly read by hot path intel_pstate_update_util()
> 
> hwp_active is written to once during initialization and thereafter is
> mostly read by hot path intel_pstate_update_util().
> 
> The fact that they are mostly read and not written to makes them
> candidates for __read_mostly declarations.
> 
> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
>  drivers/cpufreq/intel_pstate.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/cpufreq/intel_pstate.c
> b/drivers/cpufreq/intel_pstate.c
> index 861bcba..2eda50d 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -281,9 +281,9 @@ struct cpu_defaults {
>  static inline int32_t get_target_pstate_use_performance(struct
> cpudata *cpu);
>  static inline int32_t get_target_pstate_use_cpu_load(struct cpudata
> *cpu);
>  
> -static struct pstate_adjust_policy pid_params;
> -static struct pstate_funcs pstate_funcs;
> -static int hwp_active;
> +static struct pstate_adjust_policy pid_params __read_mostly;
> +static struct pstate_funcs pstate_funcs __read_mostly;
> +static int hwp_active __read_mostly;
>  
>  #ifdef CONFIG_ACPI
>  static bool acpi_ppc;
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jisheng Zhang June 28, 2016, 2:29 a.m. UTC | #2
Dear Rafael,

On Mon, 27 Jun 2016 10:29:54 -0700
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> wrote:

> On Mon, 2016-06-27 at 18:07 +0800, Jisheng Zhang wrote:
> > pid_params is written once by copy_pid_params() during
> > initialization,
> > and thereafter is mostly read by hot path intel_pstate_update_util().
> > The read of pid_params gets more after commit a4675fbc4a7a ("cpufreq:
> > intel_pstate: Replace timers with utilization update callbacks")
> > 
> > pstate_funcs is written once by copy_cpu_funcs() during
> > initialization,
> > and thereafter is mostly read by hot path intel_pstate_update_util()
> > 
> > hwp_active is written to once during initialization and thereafter is
> > mostly read by hot path intel_pstate_update_util().
> > 
> > The fact that they are mostly read and not written to makes them
> > candidates for __read_mostly declarations.
> > 
> > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>  
> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

oops, I missed Viresh's Ack in this patch, so can you please add the missing

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

Sorry for inconvenience,
Jisheng

> > ---
> >  drivers/cpufreq/intel_pstate.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/cpufreq/intel_pstate.c
> > b/drivers/cpufreq/intel_pstate.c
> > index 861bcba..2eda50d 100644
> > --- a/drivers/cpufreq/intel_pstate.c
> > +++ b/drivers/cpufreq/intel_pstate.c
> > @@ -281,9 +281,9 @@ struct cpu_defaults {
> >  static inline int32_t get_target_pstate_use_performance(struct
> > cpudata *cpu);
> >  static inline int32_t get_target_pstate_use_cpu_load(struct cpudata
> > *cpu);
> >  
> > -static struct pstate_adjust_policy pid_params;
> > -static struct pstate_funcs pstate_funcs;
> > -static int hwp_active;
> > +static struct pstate_adjust_policy pid_params __read_mostly;
> > +static struct pstate_funcs pstate_funcs __read_mostly;
> > +static int hwp_active __read_mostly;
> >  
> >  #ifdef CONFIG_ACPI
> >  static bool acpi_ppc;  

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki June 28, 2016, 11:43 a.m. UTC | #3
On Tuesday, June 28, 2016 10:29:27 AM Jisheng Zhang wrote:
> Dear Rafael,
> 
> On Mon, 27 Jun 2016 10:29:54 -0700
> Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> wrote:
> 
> > On Mon, 2016-06-27 at 18:07 +0800, Jisheng Zhang wrote:
> > > pid_params is written once by copy_pid_params() during
> > > initialization,
> > > and thereafter is mostly read by hot path intel_pstate_update_util().
> > > The read of pid_params gets more after commit a4675fbc4a7a ("cpufreq:
> > > intel_pstate: Replace timers with utilization update callbacks")
> > > 
> > > pstate_funcs is written once by copy_cpu_funcs() during
> > > initialization,
> > > and thereafter is mostly read by hot path intel_pstate_update_util()
> > > 
> > > hwp_active is written to once during initialization and thereafter is
> > > mostly read by hot path intel_pstate_update_util().
> > > 
> > > The fact that they are mostly read and not written to makes them
> > > candidates for __read_mostly declarations.
> > > 
> > > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>  
> > Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> 
> oops, I missed Viresh's Ack in this patch, so can you please add the missing
> 
> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

I've added it already.

Thanks,
Rafael

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 861bcba..2eda50d 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -281,9 +281,9 @@  struct cpu_defaults {
 static inline int32_t get_target_pstate_use_performance(struct cpudata *cpu);
 static inline int32_t get_target_pstate_use_cpu_load(struct cpudata *cpu);
 
-static struct pstate_adjust_policy pid_params;
-static struct pstate_funcs pstate_funcs;
-static int hwp_active;
+static struct pstate_adjust_policy pid_params __read_mostly;
+static struct pstate_funcs pstate_funcs __read_mostly;
+static int hwp_active __read_mostly;
 
 #ifdef CONFIG_ACPI
 static bool acpi_ppc;