powercap / RAPL: handle domains with different energy units
authorJacob Pan <jacob.jun.pan@linux.intel.com>
Fri, 13 Mar 2015 10:48:56 +0000 (03:48 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 13 Mar 2015 22:18:44 +0000 (23:18 +0100)
commitd474a4d365aaa5c7aabcf11a74ea43aa23f6f2e9
tree01ec65957368d7f604aa5eb7101845fab04f58a6
parent9eccca0843205f87c00404b663188b88eb248051
powercap / RAPL: handle domains with different energy units

The current driver assumes all RAPL domains within a CPU package
have the same energy unit. This is no longer true for HSW server
CPUs since DRAM domain has is own fixed energy unit which can be
different than the package energy unit enumerated by package
power MSR. In fact, the default HSW EP package power unit is 61uJ
whereas DRAM domain unit is 15.3uJ. The result is that DRAM power
consumption is counted 4x more than real power reported by energy
counters, similarly for max_energy_range_uj of DRAM domain.

This patch adds domain specific energy unit per cpu type, it allows
domain energy unit to override package energy unit if non zero.

Please see this document for details.
"Intel Xeon Processor E5-1600 and E5-2600 v3 Product Families, Volume 2 of 2.
 Datasheet, September 2014, Reference Number: 330784-001 "

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Cc: 3.10+ <stable@vger.kernel.org> # 3.10+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/powercap/intel_rapl.c