linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/5] cpufreq: powernv: Redesign the presentation of throttle notification and solve bug-fixes in the driver
@ 2016-01-22  7:19 Shilpasri G Bhat
  2016-01-22  7:19 ` [PATCH v6 1/5] cpufreq: powernv: Hot-plug safe the kworker thread Shilpasri G Bhat
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Shilpasri G Bhat @ 2016-01-22  7:19 UTC (permalink / raw)
  To: linuxppc-dev, linux-kernel
  Cc: rjw, viresh.kumar, linux-pm, pc, anton, ego, shreyas, Shilpasri G Bhat

In POWER8, OCC(On-Chip-Controller) can throttle the frequency of the
CPU when the chip crosses its thermal and power limits. Currently,
powernv-cpufreq driver detects and reports this event as a console
message. Some machines may not sustain the max turbo frequency in all
conditions and can be throttled frequently. This can lead to the
flooding of console with throttle messages. So this patchset aims to
redesign the presentation of this event via sysfs counters and
tracepoints. And it also fixes couple of bugs reported in the driver.

- Patch [1] fixes the cpu hot-plug bug in powernv_cpufreq_work_fn().
- Patch [2] solves a bug in powernv_cpufreq_throttle_check(), which
  calls in to cpu_to_chip_id() in hot path which reads DT every time
  to find the chip id.
- Patches [3] to [5] will add a perf trace point
  "power:powernv_throttle" and sysfs throttle counter stats in
  /sys/devices/system/cpu/cpufreq/chipN.

Changes from v5:
- Fix kbuild error:
drivers/cpufreq/powernv-cpufreq.c:428:2: error: implicit declaration of
function 'get_online_cpus' [-Werror=implicit-function-declaration]

Changes from v4:
- Fix a hot-plug bug in powernv_cpufreq_work_fn()
- Changes wrt Gautham's and Shreyas's comments 

Changes from v3:
- Add a fix to replace cpu_to_chip_id() with simpler PIR shift to 
  obtain the chip id.
- Break patch2 in to two patches separating the tracepoint and sysfs
  attribute changes.

Changes from v2:
- Fixed kbuild test warning.
drivers/cpufreq/powernv-cpufreq.c:609:2: warning: ignoring return
value of 'kstrtoint', declared with attribute warn_unused_result
[-Wunused-result]

Shilpasri G Bhat (5):
  cpufreq: powernv: Hot-plug safe the kworker thread
  cpufreq: powernv: Remove cpu_to_chip_id() from hot-path
  cpufreq: powernv/tracing: Add powernv_throttle tracepoint
  cpufreq: powernv: Replace pr_info with trace print for throttle event
  cpufreq: powernv: Add sysfs attributes to show throttle stats

 drivers/cpufreq/powernv-cpufreq.c | 313 +++++++++++++++++++++++++++++++-------
 include/trace/events/power.h      |  22 +++
 kernel/trace/power-traces.c       |   1 +
 3 files changed, 281 insertions(+), 55 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-01-25  6:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-22  7:19 [PATCH v6 0/5] cpufreq: powernv: Redesign the presentation of throttle notification and solve bug-fixes in the driver Shilpasri G Bhat
2016-01-22  7:19 ` [PATCH v6 1/5] cpufreq: powernv: Hot-plug safe the kworker thread Shilpasri G Bhat
2016-01-25  5:49   ` Viresh Kumar
2016-01-22  7:19 ` [PATCH v6 2/5] cpufreq: powernv: Remove cpu_to_chip_id() from hot-path Shilpasri G Bhat
2016-01-23  8:59   ` Balbir Singh
2016-01-25  5:38     ` Gautham R Shenoy
2016-01-25  5:53   ` Viresh Kumar
2016-01-22  7:19 ` [PATCH v6 3/5] cpufreq: powernv/tracing: Add powernv_throttle tracepoint Shilpasri G Bhat
2016-01-22  7:19 ` [PATCH v6 4/5] cpufreq: powernv: Replace pr_info with trace print for throttle event Shilpasri G Bhat
2016-01-25  5:58   ` Viresh Kumar
2016-01-22  7:19 ` [PATCH v6 5/5] cpufreq: powernv: Add sysfs attributes to show throttle stats Shilpasri G Bhat
2016-01-23  8:40   ` Balbir Singh
2016-01-25  6:46     ` Shilpasri G Bhat
2016-01-25  5:43   ` [v6, " Michael Ellerman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).