All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/10] hwmon: (fam15h_power) Introduce an accumulated power reporting algorithm
@ 2015-10-30  9:56 Huang Rui
  2015-10-30  9:56 ` [PATCH v3 01/10] hwmon: (fam15h_power) Refactor attributes for dynamically added Huang Rui
                   ` (9 more replies)
  0 siblings, 10 replies; 19+ messages in thread
From: Huang Rui @ 2015-10-30  9:56 UTC (permalink / raw)
  To: Borislav Petkov, Guenter Roeck, Peter Zijlstra, Jean Delvare,
	Andy Lutomirski, Andreas Herrmann, Thomas Gleixner, Ingo Molnar,
	Rafael J. Wysocki, Len Brown, John Stultz,
	Frédéric Weisbecker
  Cc: lm-sensors, linux-kernel, x86, Andreas Herrmann,
	Aravind Gopalakrishnan, Borislav Petkov, Fengguang Wu, Aaron Lu,
	SPG_Linux_Kernel, Huang Rui

Hi all,

This serial of patches introduces an accumulated power reporting
algorithm. It will calculate the average power consumption for the
processor. The cpu feature flag is CPUID.8000_0007H:EDX[12].

This algorithm is used to test the comparison of processor power
consumption with between MWAITX delay and TSC delay on AMD Carrizo
platforms.

Reference:
http://marc.info/?l=linux-kernel&m=143874573111310&w=2

Commit f96756 at tip ("x86/asm: Add MONITORX/MWAITX instruction support")
Commit b466bd at tip ("x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer")

V1: http://marc.info/?l=linux-kernel&m=144066380613299&w=2
V2: http://marc.info/?l=linux-kernel&m=144531018518473&w=2

Changes from v1 -> v2:
- Move fam15h_power_groups and fam15h_power_group into fam15h_power_data to
  avoid overwrite on multi-CPU system.
- Rename FAM15H_MIN_NUM_ATTRS macro and fix return error code.
- Remove unnecessary warning print.
- Adds do_read_registers_on_cu to do all the read to all MSRs and run it on one
  of the online cores on each compute unit with smp_call_function_many().
- Use power1_average and power1_average_interval standard entry
  instread of power1_acc
- Fix the CPU-hotplug case.

Changes from v2 -> v3:
- As Guenter's suggestion, remove typecast, use &data->groups[0].
- Remove all "fam15_power_*" prefix at data.
- Remove unnecessary ( ).
- Fix the issue that is reported by build test robot, and add
  CPU_SUP_AMD as the dependence of fam15h_power
- Remove the WARN_ON at do_read_registers_on_cu, because it must be
  behind CPUID check. The MSR must be available since
  CPUID.8000_0007H:EDX[12] is set 
- Add get_online_cpus()/put_online_cpus() functions.
- Refine commments and the method which generate cpumask for cu.
- Add the interval scope to make the value suitable for user
  experience
- Remove the useless mutex.

A simple example:

ray@hr-ub:~/tip$ sensors
fam15h_power-pci-00c4
Adapter: PCI adapter
power1:       23.73 mW (avg = 634.63 mW, interval =   0.01 s)
                       (crit =  15.00 W)

...

These patches are rebased on groeck/hwmon-next.

Thanks,
Rui

Huang Rui (10):
  hwmon: (fam15h_power) Refactor attributes for dynamically added
  hwmon: (fam15h_power) Enable power1_input on AMD Carrizo
  hwmon: (fam15h_power) Add max compute unit accumulated power
  x86, amd: add accessor for number of cores per compute unit
  hwmon: (fam15h_power) Add CPU_SUP_AMD as the dependence
  hwmon: (fam15h_power) Add compute unit accumulated power
  hwmon: (fam15h_power) Add ptsc counter value for accumulated power
  hwmon: (fam15h_power) Introduce a cpu accumulated power reporting
    algorithm
  hwmon: (fam15h_power) Add documentation for TDP and accumulated power
    algorithm
  MAINTAINERS: change the maintainer of fam15h_power driver

 CREDITS                          |   8 ++
 Documentation/hwmon/fam15h_power |  57 +++++++-
 MAINTAINERS                      |   4 +-
 arch/x86/include/asm/msr-index.h |   1 +
 arch/x86/include/asm/processor.h |   1 +
 arch/x86/kernel/cpu/amd.c        |  19 ++-
 drivers/hwmon/Kconfig            |   2 +-
 drivers/hwmon/fam15h_power.c     | 278 +++++++++++++++++++++++++++++++++++----
 8 files changed, 341 insertions(+), 29 deletions(-)

-- 
1.9.1


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

end of thread, other threads:[~2015-11-02  4:59 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-30  9:56 [PATCH v3 00/10] hwmon: (fam15h_power) Introduce an accumulated power reporting algorithm Huang Rui
2015-10-30  9:56 ` [PATCH v3 01/10] hwmon: (fam15h_power) Refactor attributes for dynamically added Huang Rui
2015-10-31 22:38   ` Guenter Roeck
2015-10-30  9:56 ` [PATCH v3 02/10] hwmon: (fam15h_power) Enable power1_input on AMD Carrizo Huang Rui
2015-10-31 22:42   ` [lm-sensors] " Guenter Roeck
2015-10-31 22:42     ` Guenter Roeck
2015-11-02  4:58     ` Huang Rui
2015-10-30  9:56 ` [PATCH v3 03/10] hwmon: (fam15h_power) Add max compute unit accumulated power Huang Rui
2015-10-31 22:44   ` Guenter Roeck
2015-10-30  9:56 ` [PATCH v3 04/10] x86, amd: add accessor for number of cores per compute unit Huang Rui
2015-10-31 22:45   ` Guenter Roeck
2015-10-30  9:56 ` [PATCH v3 05/10] hwmon: (fam15h_power) Add CPU_SUP_AMD as the dependence Huang Rui
2015-10-30  9:57 ` [PATCH v3 06/10] hwmon: (fam15h_power) Add compute unit accumulated power Huang Rui
2015-10-30 10:33   ` kbuild test robot
2015-11-02  4:45     ` Huang Rui
2015-10-30  9:57 ` [PATCH v3 07/10] hwmon: (fam15h_power) Add ptsc counter value for " Huang Rui
2015-10-30  9:57 ` [PATCH v3 08/10] hwmon: (fam15h_power) Introduce a cpu accumulated power reporting algorithm Huang Rui
2015-10-30  9:57 ` [PATCH v3 09/10] hwmon: (fam15h_power) Add documentation for TDP and accumulated power algorithm Huang Rui
2015-10-30  9:57 ` [PATCH v3 10/10] MAINTAINERS: change the maintainer of fam15h_power driver Huang Rui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.