Skip to content
  1. May 30, 2018
  2. May 21, 2018
  3. May 15, 2018
  4. May 14, 2018
  5. May 13, 2018
    • Viresh Kumar's avatar
      cpufreq: optimize cpufreq_notify_transition() · 20b5324d
      Viresh Kumar authored
      
      
      cpufreq_notify_transition() calls __cpufreq_notify_transition() for each
      CPU of a policy. There is a lot of code in __cpufreq_notify_transition()
      though which isn't required to be executed for each CPU, like checking
      about disabled cpufreq or irqs, adjusting jiffies, updating cpufreq
      stats and some debug print messages.
      
      This commit merges __cpufreq_notify_transition() into
      cpufreq_notify_transition() and modifies cpufreq_notify_transition() to
      execute minimum amount of code for each CPU.
      
      Also fix the kerneldoc for cpufreq_notify_transition() while at it.
      
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      20b5324d
  6. May 10, 2018
  7. Apr 30, 2018
    • Prashanth Prakash's avatar
      cpufreq / CPPC: Set platform specific transition_delay_us · d4f3388a
      Prashanth Prakash authored
      
      
      Add support to specify platform specific transition_delay_us instead
      of using the transition delay derived from PCC.
      
      With commit 3d41386d (cpufreq: CPPC: Use transition_delay_us
      depending transition_latency) we are setting transition_delay_us
      directly and not applying the LATENCY_MULTIPLIER. Because of that,
      on Qualcomm Centriq we can end up with a very high rate of frequency
      change requests when using the schedutil governor (default
      rate_limit_us=10 compared to an earlier value of 10000).
      
      The PCC subspace describes the rate at which the platform can accept
      commands on the CPPC's PCC channel. This includes read and write
      command on the PCC channel that can be used for reasons other than
      frequency transitions. Moreover the same PCC subspace can be used by
      multiple freq domains and deriving transition_delay_us from it as we
      do now can be sub-optimal.
      
      Moreover if a platform does not use PCC for desired_perf register then
      there is no way to compute the transition latency or the delay_us.
      
      CPPC does not have a standard defined mechanism to get the transition
      rate or the latency at the moment.
      
      Given the above limitations, it is simpler to have a platform specific
      transition_delay_us and rely on PCC derived value only if a platform
      specific value is not available.
      
      Signed-off-by: default avatarPrashanth Prakash <pprakash@codeaurora.org>
      Cc: 4.14+ <stable@vger.kernel.org> # 4.14+
      Fixes: 3d41386d (cpufreq: CPPC: Use transition_delay_us depending transition_latency)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d4f3388a
  8. Apr 27, 2018
  9. Apr 24, 2018
  10. Apr 10, 2018
  11. Mar 30, 2018
    • George Cherian's avatar
      cpufreq: CPPC: Use transition_delay_us depending transition_latency · 3d41386d
      George Cherian authored
      
      
      With commit e948bc8f (cpufreq: Cap the default transition delay
      value to 10 ms)  the cpufreq was not honouring the delay passed via
      ACPI (PCCT). Due to which on ARM based platforms using CPPC the
      cpufreq governor tries to change the frequency of CPUs faster than
      expected.
      
      This leads to continuous error messages like the following.
      " ACPI CPPC: PCC check channel failed. Status=0 "
      
      Earlier (without above commit) the default transition delay was
      taken form the value passed from PCCT. Use the same value provided
      by PCCT to set the transition_delay_us.
      
      Fixes: e948bc8f (cpufreq: Cap the default transition delay value to 10 ms)
      Signed-off-by: default avatarGeorge Cherian <george.cherian@cavium.com>
      Cc: 4.14+ <stable@vger.kernel.org> # 4.14+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3d41386d
  12. Mar 26, 2018
  13. Mar 20, 2018
Loading