Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1728507

Re: [PATCH v4 02/10] cpufreq: provide default frequency-invariance setter function

From "Rafael J. Wysocki" <rjw@rjwysocki.net>
Newsgroups linux.kernel
Subject Re: [PATCH v4 02/10] cpufreq: provide default frequency-invariance setter function
Date 2017-09-08 01:40 +0200
Message-ID <uneyR-6Vy-1@gated-at.bofh.it> (permalink)
References <uinW9-5dr-3@gated-at.bofh.it> <uinWd-5dr-57@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Friday, August 25, 2017 4:31:58 PM CEST Dietmar Eggemann wrote:
> Frequency-invariant accounting support based on the ratio of current
> frequency and maximum supported frequency is an optional feature an arch
> can implement.
> 
> Since there are cpufreq drivers (e.g. cpufreq-dt) which can be build for
> different arch's a default implementation of the frequency-invariance
> setter function arch_set_freq_scale() is needed.
> 
> This default implementation is an empty weak function which will be
> overwritten by a strong function in case the arch provides one.
> 
> The setter function passes the cpumask of related (to the frequency
> change) cpus (online and offline cpus), the (new) current frequency and
> the maximum supported frequency.
> 
> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

> ---
>  drivers/cpufreq/cpufreq.c | 6 ++++++
>  include/linux/cpufreq.h   | 3 +++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 9bf97a366029..ced8d539d0d5 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -161,6 +161,12 @@ u64 get_cpu_idle_time(unsigned int cpu, u64 *wall, int io_busy)
>  }
>  EXPORT_SYMBOL_GPL(get_cpu_idle_time);
>  
> +__weak void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> +		unsigned long max_freq)
> +{
> +}
> +EXPORT_SYMBOL_GPL(arch_set_freq_scale);
> +
>  /*
>   * This is a generic cpufreq init() routine which can be used by cpufreq
>   * drivers of SMP systems. It will do following:
> diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
> index f10a9b3761cd..e38acc1a4d47 100644
> --- a/include/linux/cpufreq.h
> +++ b/include/linux/cpufreq.h
> @@ -899,6 +899,9 @@ static inline bool policy_has_boost_freq(struct cpufreq_policy *policy)
>  
>  extern unsigned int arch_freq_get_on_cpu(int cpu);
>  
> +extern void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> +				unsigned long max_freq);
> +
>  /* the following are really really optional */
>  extern struct freq_attr cpufreq_freq_attr_scaling_available_freqs;
>  extern struct freq_attr cpufreq_freq_attr_scaling_boost_freqs;
> 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v4 00/10] arm, arm64, cpufreq: frequency- and cpu-invariant accounting support for task scheduler Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
  [PATCH v4 06/10] drivers base/arch_topology: allow inlining cpu-invariant accounting support Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
  [PATCH v4 09/10] arm64: wire frequency-invariant accounting support up to the task scheduler Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
  [PATCH v4 10/10] arm64: wire cpu-invariant accounting support up to the task scheduler Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
  [PATCH v4 05/10] drivers base/arch_topology: provide frequency-invariant accounting support Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
  [PATCH v4 03/10] cpufreq: arm_big_little: invoke frequency-invariance setter function Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
  [PATCH v4 07/10] arm: wire frequency-invariant accounting support up to the task scheduler Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
  [PATCH v4 02/10] cpufreq: provide default frequency-invariance setter function Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-25 16:40 +0200
    Re: [PATCH v4 02/10] cpufreq: provide default frequency-invariance setter function "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-09-08 01:40 +0200
  Re: [PATCH v4 00/10] arm, arm64, cpufreq: frequency- and cpu-invariant accounting support for task scheduler "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-08-31 01:50 +0200
    Re: [PATCH v4 00/10] arm, arm64, cpufreq: frequency- and  cpu-invariant accounting support for task scheduler Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-08-31 13:30 +0200
      Re: [PATCH v4 00/10] arm, arm64, cpufreq: frequency- and  cpu-invariant accounting support for task scheduler Dietmar Eggemann <dietmar.eggemann@arm.com> - 2017-09-07 14:10 +0200

csiph-web