All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Add some AMD boost state info and tiny fixes
@ 2011-02-01 15:11 Thomas Renninger
  2011-02-01 15:11 ` [PATCH 1/4] libcpupower/cpufreq-info: Add basic functions to detect AMD CPB information Thomas Renninger
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Thomas Renninger @ 2011-02-01 15:11 UTC (permalink / raw)
  To: linux; +Cc: cpufreq, herrmann.der.user, Thomas Renninger

I picked up Andreas' patches and finalized them.
Based on the cpupowerutils branch.
Would be great if these can get applied.

Thanks,

     Thomas

Andreas Herrmann (2):
  libcpupower/cpufreq-info: Add basic functions to detect AMD CPB
    information
  libcpupower: libcpufreq: Provide boost information also for AMD
    family 12h and 15h

Thomas Renninger (2):
  Make linking quiet again
  cpufreq-aperf: mperf might tick faster than expected, esp on Intel

 Makefile              |   10 +++---
 lib/cpufreq.c         |    8 ++--
 lib/cpufreq.h         |    2 +-
 lib/msr.c             |   11 ------
 lib/msr.h             |    2 -
 lib/pci.c             |   89 +++++++++++++++++++++++++++++++++++++++++++++++++
 lib/pci.h             |    1 +
 utils/cpufreq-aperf.c |    5 ++-
 utils/cpufreq-info.c  |    5 ++-
 9 files changed, 107 insertions(+), 26 deletions(-)
 create mode 100644 lib/pci.c
 create mode 100644 lib/pci.h

-- 
1.7.3.4


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

* [PATCH 1/4] libcpupower/cpufreq-info: Add basic functions to detect AMD CPB information
  2011-02-01 15:11 [PATCH 0/4] Add some AMD boost state info and tiny fixes Thomas Renninger
@ 2011-02-01 15:11 ` Thomas Renninger
  2011-02-01 15:11 ` [PATCH 2/4] Make linking quiet again Thomas Renninger
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Thomas Renninger @ 2011-02-01 15:11 UTC (permalink / raw)
  To: linux; +Cc: cpufreq, herrmann.der.user, Thomas Renninger

From: Andreas Herrmann <herrmann.der.user@googlemail.com>

To gather boost state information on AMD we need to access CPU
northbridge PCI functions.

Thus this change introduces a dependency on libpci (part of pciutils and
usually installed on Linux systems).

Detect whether CPB is enabled/disabled and number of boosted states.

Signed-off-by: Andreas Herrmann <herrmann.der.user@googlemail.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Dominik Brodowski <linux@dominikbrodowski.net>
CC: cpufreq@vger.kernel.org
CC: Andreas Herrmann <herrmann.der.user@googlemail.com>
---
 Makefile             |    8 ++--
 lib/cpufreq.c        |    8 ++--
 lib/cpufreq.h        |    2 +-
 lib/msr.c            |   11 ------
 lib/msr.h            |    2 -
 lib/pci.c            |   89 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/pci.h            |    1 +
 utils/cpufreq-info.c |    5 ++-
 8 files changed, 102 insertions(+), 24 deletions(-)
 create mode 100644 lib/pci.c
 create mode 100644 lib/pci.h

diff --git a/Makefile b/Makefile
index 2cd9e83..0386f53 100644
--- a/Makefile
+++ b/Makefile
@@ -113,9 +113,9 @@ CPPFLAGS += -DVERSION=\"$(VERSION)\" -DPACKAGE=\"$(PACKAGE)\" \
 
 UTIL_SRC = 	utils/cpufreq-info.c utils/cpufreq-set.c utils/cpufreq-aperf.c utils/cpuidle-info.c
 UTIL_BINS = 	utils/cpufreq-info utils/cpufreq-set utils/cpufreq-aperf utils/cpuidle-info
-LIB_HEADERS = 	lib/cpufreq.h lib/cpuidle.h lib/sysfs.h lib/msr.h lib/cpuid.h
-LIB_SRC = 	lib/cpufreq.c lib/cpuidle.c lib/sysfs.c lib/msr.c
-LIB_OBJS = 	lib/cpufreq.o lib/cpuidle.o lib/sysfs.o lib/msr.o
+LIB_HEADERS = 	lib/cpufreq.h lib/cpuidle.h lib/sysfs.h lib/msr.h lib/cpuid.h lib/pci.h
+LIB_SRC = 	lib/cpufreq.c lib/cpuidle.c lib/sysfs.c lib/msr.c lib/pci.c
+LIB_OBJS = 	lib/cpufreq.o lib/cpuidle.o lib/sysfs.o lib/msr.o lib/pci.o
 
 CFLAGS +=	-pipe
 
@@ -163,7 +163,7 @@ lib/%.o: $(LIB_SRC) $(LIB_HEADERS) build/ccdv
 	$(QUIET) $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ -c lib/$*.c
 
 libcpupower.so.$(LIB_MAJ): $(LIB_OBJS)
-	$(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
+	$(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -l pci \
 		-Wl,-soname,libcpupower.so.$(LIB_MIN) $(LIB_OBJS)
 	@ln -sf $@ libcpupower.so
 	@ln -sf $@ libcpupower.so.$(LIB_MIN)
diff --git a/lib/cpufreq.c b/lib/cpufreq.c
index 0b5fe9f..731d61f 100644
--- a/lib/cpufreq.c
+++ b/lib/cpufreq.c
@@ -14,6 +14,7 @@
 #include "sysfs.h"
 #include "cpuid.h"
 #include "msr.h"
+#include "pci.h"
 
 int cpufreq_cpu_exists(unsigned int cpu)
 {
@@ -191,12 +192,12 @@ unsigned long cpufreq_get_transitions(unsigned int cpu) {
 	return (ret);
 }
 
-int cpufreq_has_boost_support(unsigned int cpu, int *support, int *active)
+int cpufreq_has_boost_support(unsigned int cpu, int *support, int *active, int * states)
 {
 	struct cpupower_cpu_info cpu_info;
 	int ret;
 
-	*support = *active = 0;
+	*support = *active = *states = 0;
 
 	ret = get_cpu_info(0, &cpu_info);
 	if (ret)
@@ -218,10 +219,9 @@ int cpufreq_has_boost_support(unsigned int cpu, int *support, int *active)
 			*support = 1;
 		else
 			return 0;
-		ret = msr_amd_boost_is_active(cpu);
+		amd_pci_get_num_boost_states(active, states);
 		if (ret <= 0)
 			return ret;
-		*active = ret;
 	}
 	return 0;
 }
diff --git a/lib/cpufreq.h b/lib/cpufreq.h
index 506b6fc..378c063 100644
--- a/lib/cpufreq.h
+++ b/lib/cpufreq.h
@@ -213,7 +213,7 @@ extern int cpufreq_set_frequency(unsigned int cpu, unsigned long target_frequenc
  * Check whether Intel's "Turbo Boost Technology" or AMD's
  * "Dynamic Speed Boost Technology" is supported and if, whether it's activated
  */
-extern int cpufreq_has_boost_support(unsigned int cpu, int *support, int *active);
+extern int cpufreq_has_boost_support(unsigned int cpu, int *support, int *active, int *states);
 
 
 #ifdef __cplusplus
diff --git a/lib/msr.c b/lib/msr.c
index 3b59fb5..285290f 100644
--- a/lib/msr.c
+++ b/lib/msr.c
@@ -127,17 +127,6 @@ int msr_amd_get_fidvid(unsigned int cpu, uint32_t *fid, uint32_t *vid)
 	return 0;
 }
 
-int msr_amd_boost_is_active(unsigned int cpu)
-{
-	uint64_t k7_hwcr;
-	int ret;
-
-	ret = read_msr(cpu, MSR_K7_HWCR, &k7_hwcr);
-	if (ret)
-		return ret;
-	return !((k7_hwcr >> 25) & 0x1);
-}
-
 /* Intel X86 MSRs **********************************/
 int msr_intel_get_perf_status(unsigned int cpu, uint64_t perf_status)
 {
diff --git a/lib/msr.h b/lib/msr.h
index 6b743ce..ac44a6a 100644
--- a/lib/msr.h
+++ b/lib/msr.h
@@ -6,5 +6,3 @@ extern int msr_intel_get_perf_status(unsigned int cpu, uint64_t perf_status);
 
 extern int msr_intel_has_boost_support(unsigned int cpu);
 extern int msr_intel_boost_is_active(unsigned int cpu);
-
-extern int msr_amd_boost_is_active(unsigned int cpu);
diff --git a/lib/pci.c b/lib/pci.c
new file mode 100644
index 0000000..8887aa5
--- /dev/null
+++ b/lib/pci.c
@@ -0,0 +1,89 @@
+/*
+ *  (C) 2010  Andreas Herrmann <herrmann.der.user@googlemail.com>
+ *
+ *  Licensed under the terms of the GNU GPL License version 2.
+ */
+
+
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <inttypes.h>
+
+#include <pci/pci.h>
+
+#include "cpufreq.h"
+#include "sysfs.h"
+
+/*
+ * pci_acc_init
+ *
+ * PCI access helper function depending on libpci
+ *
+ * **pacc : if a valid pci_dev is returned
+ *         *pacc must be passed to pci_acc_cleanup to free it
+ *
+ * vendor_id : the pci vendor id matching the pci device to access
+ * dev_ids :   device ids matching the pci device to access
+ *
+ * Returns :
+ * struct pci_dev which can be used with pci_{read,write}_* functions
+ *                to access the PCI config space of matching pci devices
+ */
+static struct pci_dev *pci_acc_init(struct pci_access **pacc, int vendor_id,
+			     int *dev_ids)
+{
+	struct pci_filter filter_nb_link = { -1, -1, -1, -1, vendor_id, 0};
+	struct pci_dev *device;
+	unsigned int i;
+
+	*pacc = pci_alloc();
+	if (*pacc == NULL)
+		return NULL;
+
+	pci_init(*pacc);
+	pci_scan_bus(*pacc);
+
+	for (i = 0; dev_ids[i] != 0; i++) {
+		filter_nb_link.device = dev_ids[i];
+		for (device=(*pacc)->devices; device; device = device->next) {
+			if (pci_filter_match(&filter_nb_link, device))
+				return device;
+		}
+	}
+	pci_cleanup(*pacc);
+	return NULL;
+}
+
+static void pci_acc_cleanup(struct pci_access *pacc)
+{
+       pci_cleanup(pacc);
+}
+
+int amd_pci_get_num_boost_states(int *active, int *states)
+{
+	struct pci_access *pci_acc;
+	int vendor_id = 0x1022;
+	int boost_dev_ids[2] = {0x1204, 0};
+	struct pci_dev *device;
+	uint8_t val = 0;
+
+	*active = *states = 0;
+
+	device = pci_acc_init(&pci_acc, vendor_id, boost_dev_ids);
+
+	if (device == NULL)
+		return -ENODEV;
+
+	val = pci_read_byte(device, 0x15c);
+	if (val & 3)
+		*active = 1;
+	else
+		*active = 0;
+	*states = (val >> 2) & 1;
+
+	pci_acc_cleanup(pci_acc);
+	return 0;
+}
diff --git a/lib/pci.h b/lib/pci.h
new file mode 100644
index 0000000..d29df49
--- /dev/null
+++ b/lib/pci.h
@@ -0,0 +1 @@
+extern int amd_pci_get_num_boost_states(int *active, int *states);
diff --git a/utils/cpufreq-info.c b/utils/cpufreq-info.c
index 4d479f3..bb8e425 100644
--- a/utils/cpufreq-info.c
+++ b/utils/cpufreq-info.c
@@ -290,9 +290,9 @@ static void debug_output(unsigned int cpu, unsigned int all) {
 /* --boost / -b */
 
 static int get_boost_mode(unsigned int cpu) {
-	int support, active, ret;
+	int support, active, states, ret;
 
-	ret = cpufreq_has_boost_support(cpu, &support, &active);
+	ret = cpufreq_has_boost_support(cpu, &support, &active, &states);
 	if (ret) {
 		printf(gettext ("Error while evaluating Boost Capabilities"
 				" on CPU %d -- are you root?\n"), cpu);
@@ -302,6 +302,7 @@ static int get_boost_mode(unsigned int cpu) {
 	printf(gettext ("Analyzing Boost Capabilities on CPU %d:\n"), cpu);
 	printf("Supported: %s\n", support ? "yes" : "no");
 	printf("Active: %s\n", active ? "yes" : "no");
+	printf("Boost States: %d\n", states);
 
 	return 0;
 }
-- 
1.7.3.4


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

* [PATCH 2/4] Make linking quiet again
  2011-02-01 15:11 [PATCH 0/4] Add some AMD boost state info and tiny fixes Thomas Renninger
  2011-02-01 15:11 ` [PATCH 1/4] libcpupower/cpufreq-info: Add basic functions to detect AMD CPB information Thomas Renninger
@ 2011-02-01 15:11 ` Thomas Renninger
  2011-02-01 15:11 ` [PATCH 3/4] libcpupower: libcpufreq: Provide boost information also for AMD family 12h and 15h Thomas Renninger
  2011-02-01 15:11 ` [PATCH 4/4] cpufreq-aperf: mperf might tick faster than expected, esp on Intel Thomas Renninger
  3 siblings, 0 replies; 7+ messages in thread
From: Thomas Renninger @ 2011-02-01 15:11 UTC (permalink / raw)
  To: linux; +Cc: cpufreq, herrmann.der.user, Thomas Renninger

Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Dominik Brodowski <linux@dominikbrodowski.net>
CC: cpufreq@vger.kernel.org
---
 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 0386f53..510b10f 100644
--- a/Makefile
+++ b/Makefile
@@ -163,7 +163,7 @@ lib/%.o: $(LIB_SRC) $(LIB_HEADERS) build/ccdv
 	$(QUIET) $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ -c lib/$*.c
 
 libcpupower.so.$(LIB_MAJ): $(LIB_OBJS)
-	$(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -l pci \
+	$(QUIET) $(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -l pci \
 		-Wl,-soname,libcpupower.so.$(LIB_MIN) $(LIB_OBJS)
 	@ln -sf $@ libcpupower.so
 	@ln -sf $@ libcpupower.so.$(LIB_MIN)
@@ -171,7 +171,7 @@ libcpupower.so.$(LIB_MAJ): $(LIB_OBJS)
 # Still Provide the old lib, but apps should get fixed to
 # not link against it anymore
 libcpufreq.so.$(LIB_MAJ): libcpupower.so.$(LIB_MAJ)
-	$(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
+	$(QUIET) $(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
 		-Wl,-soname,libcpufreq.so.$(LIB_MIN) -l cpupower -L .
 	@ln -sf $@ libcpufreq.so
 	@ln -sf $@ libcpufreq.so.$(LIB_MIN)
-- 
1.7.3.4


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

* [PATCH 3/4] libcpupower: libcpufreq: Provide boost information also for AMD family 12h and 15h
  2011-02-01 15:11 [PATCH 0/4] Add some AMD boost state info and tiny fixes Thomas Renninger
  2011-02-01 15:11 ` [PATCH 1/4] libcpupower/cpufreq-info: Add basic functions to detect AMD CPB information Thomas Renninger
  2011-02-01 15:11 ` [PATCH 2/4] Make linking quiet again Thomas Renninger
@ 2011-02-01 15:11 ` Thomas Renninger
  2011-02-02 19:07   ` Andreas Herrmann
  2011-02-01 15:11 ` [PATCH 4/4] cpufreq-aperf: mperf might tick faster than expected, esp on Intel Thomas Renninger
  3 siblings, 1 reply; 7+ messages in thread
From: Thomas Renninger @ 2011-02-01 15:11 UTC (permalink / raw)
  To: linux; +Cc: cpufreq, herrmann.der.user, Thomas Renninger

From: Andreas Herrmann <herrmann.der.user@googlemail.com>

Signed-off-by: Andreas Herrmann <herrmann.der.user@googlemail.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Andreas Herrmann <herrmann.der.user@googlemail.com>
CC: Dominik Brodowski <linux@dominikbrodowski.net>
CC: cpufreq@vger.kernel.org
---
 lib/pci.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/pci.c b/lib/pci.c
index 8887aa5..83d1581 100644
--- a/lib/pci.c
+++ b/lib/pci.c
@@ -66,7 +66,7 @@ int amd_pci_get_num_boost_states(int *active, int *states)
 {
 	struct pci_access *pci_acc;
 	int vendor_id = 0x1022;
-	int boost_dev_ids[2] = {0x1204, 0};
+	int boost_dev_ids[4] = {0x1204, 0x1504, 0x1704, 0};
 	struct pci_dev *device;
 	uint8_t val = 0;
 
@@ -82,7 +82,7 @@ int amd_pci_get_num_boost_states(int *active, int *states)
 		*active = 1;
 	else
 		*active = 0;
-	*states = (val >> 2) & 1;
+	*states = (val >> 2) & 7;
 
 	pci_acc_cleanup(pci_acc);
 	return 0;
-- 
1.7.3.4


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

* [PATCH 4/4] cpufreq-aperf: mperf might tick faster than expected, esp on Intel
  2011-02-01 15:11 [PATCH 0/4] Add some AMD boost state info and tiny fixes Thomas Renninger
                   ` (2 preceding siblings ...)
  2011-02-01 15:11 ` [PATCH 3/4] libcpupower: libcpufreq: Provide boost information also for AMD family 12h and 15h Thomas Renninger
@ 2011-02-01 15:11 ` Thomas Renninger
  2011-02-01 15:25   ` Thomas Renninger
  3 siblings, 1 reply; 7+ messages in thread
From: Thomas Renninger @ 2011-02-01 15:11 UTC (permalink / raw)
  To: linux; +Cc: cpufreq, herrmann.der.user, Thomas Renninger

Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Dominik Brodowski <linux@dominikbrodowski.net>
CC: cpufreq@vger.kernel.org
---
 utils/cpufreq-aperf.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/utils/cpufreq-aperf.c b/utils/cpufreq-aperf.c
index c9461ae..ac5e3ac 100644
--- a/utils/cpufreq-aperf.c
+++ b/utils/cpufreq-aperf.c
@@ -153,7 +153,10 @@ static int get_C_state_time(struct timeval time_diff, uint64_t mperf_diff,
 	expected_ticks = max_freq * overall_msecs;
 	*percent = (mperf_diff * 100) / expected_ticks;
 
-	cx_time = (expected_ticks - mperf_diff) / max_freq;
+	if (mperf_diff > expected_ticks)
+		cx_time = c0_time;
+	else
+		cx_time = (expected_ticks - mperf_diff) / max_freq;
 	c0_time = mperf_diff / max_freq;
 
 	CX_time->tv_sec  = cx_time / 1000;
-- 
1.7.3.4


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

* Re: [PATCH 4/4] cpufreq-aperf: mperf might tick faster than expected, esp on Intel
  2011-02-01 15:11 ` [PATCH 4/4] cpufreq-aperf: mperf might tick faster than expected, esp on Intel Thomas Renninger
@ 2011-02-01 15:25   ` Thomas Renninger
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Renninger @ 2011-02-01 15:25 UTC (permalink / raw)
  To: linux; +Cc: cpufreq, herrmann.der.user

I sent an old/broken patch (4/4).

This one is better:

cpufreq-aperf: mperf might tick faster than expected, esp on Intel

fixes lines like that:

CPU     Average freq(KHz)  Time in C0      Time in Cx      C0 percentage
000     2601300            05 sec 004 ms   8155059272 sec 192 ms   100


Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Dominik Brodowski <linux@dominikbrodowski.net>
CC: cpufreq@vger.kernel.org

---
 utils/cpufreq-aperf.c |    5 ++-
 6 files changed, 293 insertions(+), 211 deletions(-)

--- a/utils/cpufreq-aperf.c
+++ b/utils/cpufreq-aperf.c
@@ -153,7 +153,10 @@ static int get_C_state_time(struct timeval time_diff, uint64_t mperf_diff,
 	expected_ticks = max_freq * overall_msecs;
 	*percent = (mperf_diff * 100) / expected_ticks;
 
-	cx_time = (expected_ticks - mperf_diff) / max_freq;
+	if (mperf_diff > expected_ticks)
+		cx_time = 0;
+	else
+		cx_time = (expected_ticks - mperf_diff) / max_freq;
 	c0_time = mperf_diff / max_freq;
 
 	CX_time->tv_sec  = cx_time / 1000;

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

* Re: [PATCH 3/4] libcpupower: libcpufreq: Provide boost information also for AMD family 12h and 15h
  2011-02-01 15:11 ` [PATCH 3/4] libcpupower: libcpufreq: Provide boost information also for AMD family 12h and 15h Thomas Renninger
@ 2011-02-02 19:07   ` Andreas Herrmann
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Herrmann @ 2011-02-02 19:07 UTC (permalink / raw)
  To: Thomas Renninger; +Cc: linux, cpufreq

Thomas,

Arrgh ...

Accidentally I had forwarded you some old bogus patch.
Thus the device ID for family 15h is incorrect.

The patch better should look like below patch.
(It doesn't apply on your current tree, I guess, due to different
directory names)


Sorry for the hassle,

Andreas

From: Andreas Herrmann <andreas.herrmann3@amd.com>
libcpupower: libcpufreq: Provide CPB information for AMD CPU family 12h and 15h

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
---
 lib/amdpci.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/amdpci.c b/lib/amdpci.c
index 1463db3..41e4908 100644
--- a/lib/amdpci.c
+++ b/lib/amdpci.c
@@ -48,7 +48,7 @@ static void amd_pci_nb_fini(void)
 int amd_pci_get_num_boost_states(int *active, int *states)
 {
 	uint8_t val;
-	int dev_ids[2] = {0x1204, 0};
+	int dev_ids[2] = {0x1204, 0x1604, 0x1704, 0};
 	struct pci_dev *device;
 
 	device = amd_pci_nb_init(dev_ids);
@@ -60,7 +60,7 @@ int amd_pci_get_num_boost_states(int *active, int *states)
 			*active = 1;
 		else
 			*active = 0;
-		*states = (val >> 2) & 1;
+		*states = (val >> 2) & 7;
 	}
 	amd_pci_nb_fini();
 
-- 
1.7.4.rc3


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

end of thread, other threads:[~2011-02-02 19:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-01 15:11 [PATCH 0/4] Add some AMD boost state info and tiny fixes Thomas Renninger
2011-02-01 15:11 ` [PATCH 1/4] libcpupower/cpufreq-info: Add basic functions to detect AMD CPB information Thomas Renninger
2011-02-01 15:11 ` [PATCH 2/4] Make linking quiet again Thomas Renninger
2011-02-01 15:11 ` [PATCH 3/4] libcpupower: libcpufreq: Provide boost information also for AMD family 12h and 15h Thomas Renninger
2011-02-02 19:07   ` Andreas Herrmann
2011-02-01 15:11 ` [PATCH 4/4] cpufreq-aperf: mperf might tick faster than expected, esp on Intel Thomas Renninger
2011-02-01 15:25   ` Thomas Renninger

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.