From: Huang Rui <ray.huang@amd.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: "Borislav Petkov" <bp@suse.de>, "Jean Delvare" <jdelvare@suse.de>,
"Andy Lutomirski" <luto@amacapital.net>,
"Andreas Herrmann" <herrmann.der.user@gmail.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Len Brown" <lenb@kernel.org>,
"John Stultz" <john.stultz@linaro.org>,
"Frédéric Weisbecker" <fweisbec@gmail.com>,
lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org,
x86@kernel.org,
"Andreas Herrmann" <herrmann.der.user@googlemail.com>,
"Aravind Gopalakrishnan" <Aravind.Gopalakrishnan@amd.com>,
"Borislav Petkov" <bp@alien8.de>,
"Fengguang Wu" <fengguang.wu@intel.com>,
"Aaron Lu" <aaron.lu@intel.com>, "Tony Li" <tony.li@amd.com>
Subject: Re: [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo
Date: Fri, 28 Aug 2015 10:45:25 +0000 [thread overview]
Message-ID: <20150828104525.GD4191@hr-slim.amd.com> (raw)
In-Reply-To: <20150827173043.GB27452@roeck-us.net>
T24gVGh1LCBBdWcgMjcsIDIwMTUgYXQgMTA6MzA6NDNBTSAtMDcwMCwgR3VlbnRlciBSb2VjayB3
cm90ZToKPiBPbiBUaHUsIEF1ZyAyNywgMjAxNSBhdCAwNDowNzo0M1BNICswODAwLCBIdWFuZyBS
dWkgd3JvdGU6Cj4gPiBUaGlzIHBhdGNoIGludHJvZHVjZXMgYW4gYWxnb3JpdGhtIHRoYXQgY29t
cHV0ZXMgdGhlIGF2ZXJhZ2UgcG93ZXIgYnkKPiA+IHJlYWRpbmcgYSBkZWx0YSB2YWx1ZSBvZiDi
gJxjb3JlIHBvd2VyIGFjY3VtdWxhdG9y4oCdIHJlZ2lzdGVyIGR1cmluZwo+ID4gbWVhc3VyZW1l
bnQgaW50ZXJ2YWwsIGFuZCB0aGVuIGRpdmlkaW5nIGRlbHRhIHZhbHVlIGJ5IHRoZSBsZW5ndGgg
b2YKPiA+IHRoZSB0aW1lIGludGVydmFsLgo+ID4gCj4gPiBVc2VyIGlzIGFibGUgdG8gdXNlIHBv
d2VyMV9hY2MgZW50cnkgdG8gbWVhc3VyZSB0aGUgcHJvY2Vzc29yIHBvd2VyCj4gPiBjb25zdW1w
dGlvbiBhbmQgcG93ZXIxX2FjYyBqdXN0IG5lZWRzIHRvIGJlIHJlYWQgdHdpY2Ugd2l0aCBhbiBu
ZWVkZWQKPiA+IGludGVydmFsIGluLWJldHdlZW4uCj4gPiAKPiA+IEEgc2ltcGxlIGV4YW1wbGU6
Cj4gPiAKPiA+ICQgY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDoxOC40L2h3bW9u
L2h3bW9uMC9wb3dlcjFfYWNjCj4gPiAkIHNsZWVwIDEwMDAwcwo+ID4gJCBjYXQgL3N5cy9idXMv
cGNpL2RldmljZXMvMDAwMFw6MDBcOjE4LjQvaHdtb24vaHdtb24wL3Bvd2VyMV9hY2MKPiA+IAo+
ID4gVGhlIHJlc3VsdCBpcyBjdXJyZW50IGF2ZXJhZ2UgcHJvY2Vzc29yIHBvd2VyIGNvbnN1bXB0
aW9uIGluIDEwMDAwCj4gPiBzZWNvbmRzLiBUaGUgdW5pdCBvZiB0aGUgcmVzdWx0IGlzIHVXYXR0
Lgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBIdWFuZyBSdWkgPHJheS5odWFuZ0BhbWQuY29tPgo+
ID4gLS0tCj4gPiAgZHJpdmVycy9od21vbi9mYW0xNWhfcG93ZXIuYyB8IDYyICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDYy
IGluc2VydGlvbnMoKykKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vZmFtMTVo
X3Bvd2VyLmMgYi9kcml2ZXJzL2h3bW9uL2ZhbTE1aF9wb3dlci5jCj4gPiBpbmRleCBkNTI5ZTRi
Li4zYmFiNzk3IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9od21vbi9mYW0xNWhfcG93ZXIuYwo+
ID4gKysrIGIvZHJpdmVycy9od21vbi9mYW0xNWhfcG93ZXIuYwo+ID4gQEAgLTYwLDYgKzYwLDcg
QEAgc3RydWN0IGZhbTE1aF9wb3dlcl9kYXRhIHsKPiA+ICAJdTY0IGN1X2FjY19wb3dlcltNQVhf
Q1VTXTsKPiA+ICAJLyogcGVyZm9ybWFuY2UgdGltZXN0YW1wIGNvdW50ZXIgKi8KPiA+ICAJdTY0
IGNwdV9zd19wd3JfcHRzY1tNQVhfQ1VTXTsKPiA+ICsJc3RydWN0IG11dGV4IGFjY19wd3JfbXV0
ZXg7Cj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgc3NpemVfdCBzaG93X3Bvd2VyKHN0cnVjdCBk
ZXZpY2UgKmRldiwKPiA+IEBAIC0xMjEsMTcgKzEyMiw3NCBAQCBzdGF0aWMgREVWSUNFX0FUVFIo
cG93ZXIxX2NyaXQsIFNfSVJVR08sIHNob3dfcG93ZXJfY3JpdCwgTlVMTCk7Cj4gPiAgc3RhdGlj
IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgZmFtMTVoX3Bvd2VyX2dyb3VwOwo+ID4gIF9fQVRUUklC
VVRFX0dST1VQUyhmYW0xNWhfcG93ZXIpOwo+ID4gIAo+ID4gK3N0YXRpYyBzc2l6ZV90IHNob3df
cG93ZXJfYWNjKHN0cnVjdCBkZXZpY2UgKmRldiwKPiA+ICsJCQkgICAgICBzdHJ1Y3QgZGV2aWNl
X2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQo+ID4gK3sKPiA+ICsJaW50IGNwdSwgY3UsIGN1
X251bSwgY29yZXNfcGVyX2N1Owo+ID4gKwl1NjQgY3Vycl9jdV9hY2NfcG93ZXJbTUFYX0NVU10s
Cj4gPiArCSAgICBjdXJyX3B0c2NbTUFYX0NVU10sIGpkZWx0YVtNQVhfQ1VTXTsKPiA+ICsJdTY0
IHRkZWx0YSwgYXZnX2FjYzsKPiA+ICsJc3RydWN0IGZhbTE1aF9wb3dlcl9kYXRhICpkYXRhID0g
ZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gPiArCj4gPiArCWNvcmVzX3Blcl9jdSA9IGFtZF9nZXRf
Y29yZXNfcGVyX2N1KCk7Cj4gPiArCWN1X251bSA9IGJvb3RfY3B1X2RhdGEueDg2X21heF9jb3Jl
cyAvIGNvcmVzX3Blcl9jdTsKPiA+ICsKPiA+ICsJZm9yIChjcHUgPSAwLCBhdmdfYWNjID0gMDsg
Y3B1IDwgY3VfbnVtICogY29yZXNfcGVyX2N1OyBjcHUgKz0gY29yZXNfcGVyX2N1KSB7Cj4gPiAr
CQljdSA9IGNwdSAvIGNvcmVzX3Blcl9jdTsKPiA+ICsJCWlmIChyZG1zcmxfc2FmZV9vbl9jcHUo
Y3B1LCBNU1JfRjE1SF9QVFNDLCAmY3Vycl9wdHNjW2N1XSkpIHsKPiA+ICsJCQlwcl9lcnIoIkZh
aWxlZCB0byByZWFkIFBUU0MgY291bnRlciBNU1Igb24gY29yZSVkXG4iLAo+ID4gKwkJCSAgICAg
ICBjcHUpOwo+ID4gKwkJCXJldHVybiAwOwo+ID4gKwkJfQo+ID4gKwo+ID4gKwkJaWYgKHJkbXNy
bF9zYWZlX29uX2NwdShjcHUsIE1TUl9GMTVIX0NVX1BXUl9BQ0NVTVVMQVRPUiwKPiA+ICsJCQkJ
ICAgICAgICZjdXJyX2N1X2FjY19wb3dlcltjdV0pKSB7Cj4gPiArCQkJcHJfZXJyKCJGYWlsZWQg
dG8gcmVhZCBjb21wdXRlIHVuaXQgcG93ZXIgYWNjdW11bGF0b3IgTVNSIG9uIGNvcmUlZFxuIiwK
PiA+ICsJCQkgICAgICAgY3B1KTsKPiA+ICsJCQlyZXR1cm4gMDsKPiA+ICsJCX0KPiA+ICsKPiA+
ICsJCWlmIChjdXJyX2N1X2FjY19wb3dlcltjdV0gPCBkYXRhLT5jdV9hY2NfcG93ZXJbY3VdKSB7
Cj4gPiArCQkJamRlbHRhW2N1XSA9IGRhdGEtPm1heF9jdV9hY2NfcG93ZXIgKyBjdXJyX2N1X2Fj
Y19wb3dlcltjdV07Cj4gPiArCQkJamRlbHRhW2N1XSAtPSBkYXRhLT5jdV9hY2NfcG93ZXJbY3Vd
Owo+ID4gKwkJfSBlbHNlIHsKPiA+ICsJCQlqZGVsdGFbY3VdID0gY3Vycl9jdV9hY2NfcG93ZXJb
Y3VdIC0gZGF0YS0+Y3VfYWNjX3Bvd2VyW2N1XTsKPiA+ICsJCX0KPiA+ICsJCXRkZWx0YSA9IGN1
cnJfcHRzY1tjdV0gLSBkYXRhLT5jcHVfc3dfcHdyX3B0c2NbY3VdOwo+ID4gKwkJamRlbHRhW2N1
XSAqPSBkYXRhLT5jcHVfcHdyX3NhbXBsZV9yYXRpbyAqIDEwMDA7Cj4gPiArCQlkb19kaXYoamRl
bHRhW2N1XSwgdGRlbHRhKTsKPiA+ICsKPiA+ICsJCW11dGV4X2xvY2soJmRhdGEtPmFjY19wd3Jf
bXV0ZXgpOwo+ID4gKwkJZGF0YS0+Y3VfYWNjX3Bvd2VyW2N1XSA9IGN1cnJfY3VfYWNjX3Bvd2Vy
W2N1XTsKPiA+ICsJCWRhdGEtPmNwdV9zd19wd3JfcHRzY1tjdV0gPSBjdXJyX3B0c2NbY3VdOwo+
ID4gKwkJbXV0ZXhfdW5sb2NrKCZkYXRhLT5hY2NfcHdyX211dGV4KTsKPiA+ICsKPiA+ICsJCS8q
IHRoZSB1bml0IGlzIG1pY3JvV2F0dCAqLwo+ID4gKwkJYXZnX2FjYyArPSBqZGVsdGFbY3VdOwo+
ID4gKwl9Cj4gPiArCj4gPiArCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiV1XG4iLCAodW5zaWduZWQg
aW50KSBhdmdfYWNjKTsKPiA+ICt9Cj4gPiArc3RhdGljIERFVklDRV9BVFRSKHBvd2VyMV9hY2Ms
IFNfSVJVR08sIHNob3dfcG93ZXJfYWNjLCBOVUxMKTsKPiAKPiBJIGFtIG5vdCByZWFsbHkgYSBm
cmllbmQgb2YgaW50cm9kdWNpbmcgYSBub24tc3RhbmRhcmQgYXR0cmlidXRlLgo+IERvZXMgdGhl
IGVuZXJneSBhdHRyaWJ1dGUgbm90IHdvcmsgaGVyZSA/Cj4gCgpZb3UncmUgcmlnaHQuIE5vbi1z
dGFuZGFyZCBhdHRyaWJ1dGUgbWlnaHQgbm90IGJlIGdvb2QuIENvdWxkIHlvdQpwbGVhc2UgZ2l2
ZSBtZSBzb21lIGhpbnRzIGlmIEkgdXNlICJlbmVyZ3kiIGluc3RlYWQ/CgpUaGFua3MsClJ1aQoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbG0tc2Vuc29y
cyBtYWlsaW5nIGxpc3QKbG0tc2Vuc29yc0BsbS1zZW5zb3JzLm9yZwpodHRwOi8vbGlzdHMubG0t
c2Vuc29ycy5vcmcvbWFpbG1hbi9saXN0aW5mby9sbS1zZW5zb3Jz
WARNING: multiple messages have this Message-ID (diff)
From: Huang Rui <ray.huang@amd.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: "Borislav Petkov" <bp@suse.de>, "Jean Delvare" <jdelvare@suse.de>,
"Andy Lutomirski" <luto@amacapital.net>,
"Andreas Herrmann" <herrmann.der.user@gmail.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Len Brown" <lenb@kernel.org>,
"John Stultz" <john.stultz@linaro.org>,
"Frédéric Weisbecker" <fweisbec@gmail.com>,
lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org,
x86@kernel.org,
"Andreas Herrmann" <herrmann.der.user@googlemail.com>,
"Aravind Gopalakrishnan" <Aravind.Gopalakrishnan@amd.com>,
"Borislav Petkov" <bp@alien8.de>,
"Fengguang Wu" <fengguang.wu@intel.com>,
"Aaron Lu" <aaron.lu@intel.com>, "Tony Li" <tony.li@amd.com>
Subject: Re: [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm
Date: Fri, 28 Aug 2015 18:45:25 +0800 [thread overview]
Message-ID: <20150828104525.GD4191@hr-slim.amd.com> (raw)
In-Reply-To: <20150827173043.GB27452@roeck-us.net>
On Thu, Aug 27, 2015 at 10:30:43AM -0700, Guenter Roeck wrote:
> On Thu, Aug 27, 2015 at 04:07:43PM +0800, Huang Rui wrote:
> > This patch introduces an algorithm that computes the average power by
> > reading a delta value of “core power accumulator” register during
> > measurement interval, and then dividing delta value by the length of
> > the time interval.
> >
> > User is able to use power1_acc entry to measure the processor power
> > consumption and power1_acc just needs to be read twice with an needed
> > interval in-between.
> >
> > A simple example:
> >
> > $ cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc
> > $ sleep 10000s
> > $ cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc
> >
> > The result is current average processor power consumption in 10000
> > seconds. The unit of the result is uWatt.
> >
> > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > ---
> > drivers/hwmon/fam15h_power.c | 62 ++++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 62 insertions(+)
> >
> > diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
> > index d529e4b..3bab797 100644
> > --- a/drivers/hwmon/fam15h_power.c
> > +++ b/drivers/hwmon/fam15h_power.c
> > @@ -60,6 +60,7 @@ struct fam15h_power_data {
> > u64 cu_acc_power[MAX_CUS];
> > /* performance timestamp counter */
> > u64 cpu_sw_pwr_ptsc[MAX_CUS];
> > + struct mutex acc_pwr_mutex;
> > };
> >
> > static ssize_t show_power(struct device *dev,
> > @@ -121,17 +122,74 @@ static DEVICE_ATTR(power1_crit, S_IRUGO, show_power_crit, NULL);
> > static struct attribute_group fam15h_power_group;
> > __ATTRIBUTE_GROUPS(fam15h_power);
> >
> > +static ssize_t show_power_acc(struct device *dev,
> > + struct device_attribute *attr, char *buf)
> > +{
> > + int cpu, cu, cu_num, cores_per_cu;
> > + u64 curr_cu_acc_power[MAX_CUS],
> > + curr_ptsc[MAX_CUS], jdelta[MAX_CUS];
> > + u64 tdelta, avg_acc;
> > + struct fam15h_power_data *data = dev_get_drvdata(dev);
> > +
> > + cores_per_cu = amd_get_cores_per_cu();
> > + cu_num = boot_cpu_data.x86_max_cores / cores_per_cu;
> > +
> > + for (cpu = 0, avg_acc = 0; cpu < cu_num * cores_per_cu; cpu += cores_per_cu) {
> > + cu = cpu / cores_per_cu;
> > + if (rdmsrl_safe_on_cpu(cpu, MSR_F15H_PTSC, &curr_ptsc[cu])) {
> > + pr_err("Failed to read PTSC counter MSR on core%d\n",
> > + cpu);
> > + return 0;
> > + }
> > +
> > + if (rdmsrl_safe_on_cpu(cpu, MSR_F15H_CU_PWR_ACCUMULATOR,
> > + &curr_cu_acc_power[cu])) {
> > + pr_err("Failed to read compute unit power accumulator MSR on core%d\n",
> > + cpu);
> > + return 0;
> > + }
> > +
> > + if (curr_cu_acc_power[cu] < data->cu_acc_power[cu]) {
> > + jdelta[cu] = data->max_cu_acc_power + curr_cu_acc_power[cu];
> > + jdelta[cu] -= data->cu_acc_power[cu];
> > + } else {
> > + jdelta[cu] = curr_cu_acc_power[cu] - data->cu_acc_power[cu];
> > + }
> > + tdelta = curr_ptsc[cu] - data->cpu_sw_pwr_ptsc[cu];
> > + jdelta[cu] *= data->cpu_pwr_sample_ratio * 1000;
> > + do_div(jdelta[cu], tdelta);
> > +
> > + mutex_lock(&data->acc_pwr_mutex);
> > + data->cu_acc_power[cu] = curr_cu_acc_power[cu];
> > + data->cpu_sw_pwr_ptsc[cu] = curr_ptsc[cu];
> > + mutex_unlock(&data->acc_pwr_mutex);
> > +
> > + /* the unit is microWatt */
> > + avg_acc += jdelta[cu];
> > + }
> > +
> > + return sprintf(buf, "%u\n", (unsigned int) avg_acc);
> > +}
> > +static DEVICE_ATTR(power1_acc, S_IRUGO, show_power_acc, NULL);
>
> I am not really a friend of introducing a non-standard attribute.
> Does the energy attribute not work here ?
>
You're right. Non-standard attribute might not be good. Could you
please give me some hints if I use "energy" instead?
Thanks,
Rui
next prev parent reply other threads:[~2015-08-28 10:45 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-27 8:07 [lm-sensors] [PATCH 00/15] hwmon, fam15h_power: introduce an accumulated power reporting algorithm Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 8:07 ` [lm-sensors] [PATCH 01/15] hwmon, fam15h_power: add support for AMD Carrizo Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:35 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:35 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 02/15] hwmon, fam15h_power: rename fam15h_power_is_internal_node0 function Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:35 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:35 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 03/15] hwmon, fam15h_power: refactor attributes for dynamically added Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:46 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:46 ` Guenter Roeck
2015-08-28 10:05 ` [lm-sensors] " Huang Rui
2015-08-28 10:05 ` Huang Rui
2015-08-27 8:07 ` [lm-sensors] [PATCH 04/15] hwmon, fam15h_power: update running_avg_capture bit field to 28 Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:48 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:48 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 05/15] hwmon, fam15h_power: enable power1_input on AMD Carrizo Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:50 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:50 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 06/15] hwmon, fam15h_power: add documentation for new processors support Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:51 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:51 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 07/15] hwmon, fam15h_power: add ratio of Tsample to the PTSC period Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:54 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:54 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 08/15] hwmon, fam15h_power: add max compute unit accumulated power Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 14:56 ` [lm-sensors] " Guenter Roeck
2015-08-27 14:56 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 09/15] x86, amd: add accessor for number of cores per compute unit Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 17:27 ` [lm-sensors] " Guenter Roeck
2015-08-27 17:27 ` Guenter Roeck
2015-08-28 10:28 ` [lm-sensors] " Huang Rui
2015-08-28 10:28 ` Huang Rui
2015-08-28 6:48 ` [lm-sensors] " Borislav Petkov
2015-08-28 6:48 ` Borislav Petkov
2015-08-28 8:00 ` [lm-sensors] " Guenter Roeck
2015-08-28 8:00 ` Guenter Roeck
2015-08-28 8:04 ` [lm-sensors] " Ingo Molnar
2015-08-28 8:04 ` Ingo Molnar
2015-08-28 8:56 ` [lm-sensors] " Borislav Petkov
2015-08-28 8:56 ` Borislav Petkov
2015-08-28 10:18 ` [lm-sensors] " Huang Rui
2015-08-28 10:18 ` Huang Rui
2015-08-29 9:19 ` [lm-sensors] " Ingo Molnar
2015-08-29 9:19 ` Ingo Molnar
2015-08-30 15:53 ` [lm-sensors] " Borislav Petkov
2015-08-30 15:53 ` Borislav Petkov
2015-08-31 8:38 ` [lm-sensors] " Peter Zijlstra
2015-08-31 8:38 ` Peter Zijlstra
2015-08-31 13:26 ` [lm-sensors] " Guenter Roeck
2015-08-31 13:26 ` Guenter Roeck
2015-08-31 13:38 ` [lm-sensors] " Peter Zijlstra
2015-08-31 13:38 ` Peter Zijlstra
2015-08-31 13:53 ` [lm-sensors] " Guenter Roeck
2015-08-31 13:53 ` Guenter Roeck
2015-08-31 14:57 ` [lm-sensors] " Peter Zijlstra
2015-08-31 14:57 ` Peter Zijlstra
2015-08-31 15:11 ` [lm-sensors] " Guenter Roeck
2015-08-31 15:11 ` Guenter Roeck
2015-08-31 16:06 ` [lm-sensors] " Borislav Petkov
2015-08-31 16:06 ` Borislav Petkov
2015-08-31 16:19 ` [lm-sensors] " Guenter Roeck
2015-08-31 16:19 ` Guenter Roeck
2015-08-31 20:44 ` [lm-sensors] " Peter Zijlstra
2015-08-31 20:44 ` Peter Zijlstra
2015-08-31 21:24 ` [lm-sensors] " Guenter Roeck
2015-08-31 21:24 ` Guenter Roeck
2015-09-01 15:56 ` [lm-sensors] " Borislav Petkov
2015-09-01 15:56 ` Borislav Petkov
2015-09-01 16:06 ` [lm-sensors] " Guenter Roeck
2015-09-01 16:06 ` Guenter Roeck
2015-08-27 8:07 ` [lm-sensors] [PATCH 10/15] hwmon, fam15h_power: add compute unit accumulated power Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-28 8:03 ` [lm-sensors] " Ingo Molnar
2015-08-28 8:03 ` Ingo Molnar
2015-08-28 10:42 ` [lm-sensors] " Huang Rui
2015-08-28 10:42 ` Huang Rui
2015-08-27 8:07 ` [lm-sensors] [PATCH 11/15] hwmon, fam15h_power: add ptsc counter value for " Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 8:07 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorith Huang Rui
2015-08-27 8:07 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Huang Rui
2015-08-27 17:30 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo Guenter Roeck
2015-08-27 17:30 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Guenter Roeck
2015-08-28 10:45 ` Huang Rui [this message]
2015-08-28 10:45 ` Huang Rui
2015-08-28 14:05 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo Guenter Roeck
2015-08-28 14:05 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Guenter Roeck
2015-08-31 4:16 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo Huang Rui
2015-08-31 4:16 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Huang Rui
2015-08-31 4:30 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo Guenter Roeck
2015-08-31 4:30 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Guenter Roeck
2015-08-31 13:11 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo Huang Rui
2015-08-31 13:11 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Huang Rui
2015-08-31 13:25 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo Peter Zijlstra
2015-08-31 13:25 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Peter Zijlstra
2015-08-31 14:59 ` [lm-sensors] [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algo Peter Zijlstra
2015-08-31 14:59 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Peter Zijlstra
2015-08-27 8:07 ` [lm-sensors] [PATCH 13/15] hwmon, fam15h_power: add documentation for previous TDP reporting Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 8:07 ` [lm-sensors] [PATCH 14/15] hwmon, fam15h_power: add documentation for accumulated power algorithm Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-27 8:07 ` [lm-sensors] [PATCH 15/15] MAINTAINERS: change the maintainer of fam15h_power driver Huang Rui
2015-08-27 8:07 ` Huang Rui
2015-08-29 16:33 ` [lm-sensors] [15/15] " Guenter Roeck
2015-08-29 16:33 ` Guenter Roeck
2015-08-31 1:11 ` [lm-sensors] " Huang Rui
2015-08-31 1:11 ` Huang Rui
2015-08-31 15:19 ` [lm-sensors] " Andreas Herrmann
2015-08-31 15:19 ` Andreas Herrmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150828104525.GD4191@hr-slim.amd.com \
--to=ray.huang@amd.com \
--cc=Aravind.Gopalakrishnan@amd.com \
--cc=aaron.lu@intel.com \
--cc=bp@alien8.de \
--cc=bp@suse.de \
--cc=fengguang.wu@intel.com \
--cc=fweisbec@gmail.com \
--cc=herrmann.der.user@gmail.com \
--cc=herrmann.der.user@googlemail.com \
--cc=jdelvare@suse.de \
--cc=john.stultz@linaro.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=lm-sensors@lm-sensors.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=tony.li@amd.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.