From 7a121c919482a38b281c63137262727d1be08ff5b08dd082db14760f0bb6e5bc Mon Sep 17 00:00:00 2001 From: Thomas Renninger Date: Tue, 13 Nov 2012 11:08:56 +0000 Subject: [PATCH 1/4] - Add ivy bridge processor (EP and EX) support OBS-URL: https://build.opensuse.org/package/show/hardware/cpupower?expand=0&rev=18 --- cpupower-ivy_bridge_support.patch | 44 +++++++++++++++++++++++++++++++ cpupower.changes | 5 ++++ cpupower.spec | 2 ++ 3 files changed, 51 insertions(+) create mode 100644 cpupower-ivy_bridge_support.patch diff --git a/cpupower-ivy_bridge_support.patch b/cpupower-ivy_bridge_support.patch new file mode 100644 index 0000000..af16156 --- /dev/null +++ b/cpupower-ivy_bridge_support.patch @@ -0,0 +1,44 @@ +From: Thomas Renninger +Subject: cpupower: IvyBridge (0x3a and 0x3e models) support +References: fate#313856 +Patch-Mainline: Queued in subsystem tree (see Git-Repo:) +Git-commit: 7f163b1bd6e3f7bfa648069770acf2c8fe3d9097 +Git-repo: gitolite@ra.kernel.org:/pub/scm/linux/kernel/git/trenn/cpupower + +Signed-off-by: Thomas Renninger + +diff --git a/utils/helpers/cpuid.c b/utils/helpers/cpuid.c +index 906895d..93b0aa7 100644 +--- a/utils/helpers/cpuid.c ++++ b/utils/helpers/cpuid.c +@@ -158,6 +158,8 @@ out: + cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO; + case 0x2A: /* SNB */ + case 0x2D: /* SNB Xeon */ ++ case 0x3A: /* IVB */ ++ case 0x3E: /* IVB Xeon */ + cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO; + cpu_info->caps |= CPUPOWER_CAP_IS_SNB; + break; +diff --git a/utils/idle_monitor/snb_idle.c b/utils/idle_monitor/snb_idle.c +index a1bc07c..a99b43b 100644 +--- a/utils/idle_monitor/snb_idle.c ++++ b/utils/idle_monitor/snb_idle.c +@@ -150,9 +150,15 @@ static struct cpuidle_monitor *snb_register(void) + || cpupower_cpu_info.family != 6) + return NULL; + +- if (cpupower_cpu_info.model != 0x2A +- && cpupower_cpu_info.model != 0x2D) ++ switch (cpupower_cpu_info.model) { ++ case 0x2A: /* SNB */ ++ case 0x2D: /* SNB Xeon */ ++ case 0x3A: /* IVB */ ++ case 0x3E: /* IVB Xeon */ ++ break; ++ default: + return NULL; ++ } + + is_valid = calloc(cpu_count, sizeof(int)); + for (num = 0; num < SNB_CSTATE_COUNT; num++) { diff --git a/cpupower.changes b/cpupower.changes index 497b440..da66190 100644 --- a/cpupower.changes +++ b/cpupower.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Nov 13 11:08:12 UTC 2012 - trenn@suse.de + +- Add ivy bridge processor (EP and EX) support + ------------------------------------------------------------------- Tue May 8 15:25:00 UTC 2012 - trenn@suse.de diff --git a/cpupower.spec b/cpupower.spec index aabcdc7..9ad4d0d 100644 --- a/cpupower.spec +++ b/cpupower.spec @@ -29,6 +29,7 @@ License: GPL-2.0 Group: System/Base Source: %{name}-%{version}.tar.bz2 Source1: cpupower_export_tarball_from_git.sh +Patch0: cpupower-ivy_bridge_support.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gettext-tools BuildRequires: pciutils @@ -72,6 +73,7 @@ powersave module. %prep %setup -q +%patch0 -p1 %build # This package failed when testing with -Wl,-as-needed being default. From ae4dd354e3366b76e4d95d16013cdd7544334b51a566aeb2d1e87ec51e392bf1 Mon Sep 17 00:00:00 2001 From: Thomas Renninger Date: Tue, 13 Nov 2012 11:27:12 +0000 Subject: [PATCH 2/4] - Rename SandyBridge monitor to IvyBridge if CPU is an IvyBridge OBS-URL: https://build.opensuse.org/package/show/hardware/cpupower?expand=0&rev=19 --- cpupower-ivy_bridge_support.patch | 26 +++++++++++++++++--------- cpupower.changes | 5 +++++ cpupower.spec | 1 - 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/cpupower-ivy_bridge_support.patch b/cpupower-ivy_bridge_support.patch index af16156..99abf29 100644 --- a/cpupower-ivy_bridge_support.patch +++ b/cpupower-ivy_bridge_support.patch @@ -7,10 +7,15 @@ Git-repo: gitolite@ra.kernel.org:/pub/scm/linux/kernel/git/trenn/cpupower Signed-off-by: Thomas Renninger -diff --git a/utils/helpers/cpuid.c b/utils/helpers/cpuid.c -index 906895d..93b0aa7 100644 ---- a/utils/helpers/cpuid.c -+++ b/utils/helpers/cpuid.c +--- + utils/helpers/cpuid.c | 2 ++ + utils/idle_monitor/snb_idle.c | 13 +++++++++++-- + 2 files changed, 13 insertions(+), 2 deletions(-) + +Index: cpupower-3.4.rc6/utils/helpers/cpuid.c +=================================================================== +--- cpupower-3.4.rc6.orig/utils/helpers/cpuid.c ++++ cpupower-3.4.rc6/utils/helpers/cpuid.c @@ -158,6 +158,8 @@ out: cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO; case 0x2A: /* SNB */ @@ -20,11 +25,11 @@ index 906895d..93b0aa7 100644 cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO; cpu_info->caps |= CPUPOWER_CAP_IS_SNB; break; -diff --git a/utils/idle_monitor/snb_idle.c b/utils/idle_monitor/snb_idle.c -index a1bc07c..a99b43b 100644 ---- a/utils/idle_monitor/snb_idle.c -+++ b/utils/idle_monitor/snb_idle.c -@@ -150,9 +150,15 @@ static struct cpuidle_monitor *snb_register(void) +Index: cpupower-3.4.rc6/utils/idle_monitor/snb_idle.c +=================================================================== +--- cpupower-3.4.rc6.orig/utils/idle_monitor/snb_idle.c ++++ cpupower-3.4.rc6/utils/idle_monitor/snb_idle.c +@@ -150,9 +150,18 @@ static struct cpuidle_monitor *snb_regis || cpupower_cpu_info.family != 6) return NULL; @@ -33,8 +38,11 @@ index a1bc07c..a99b43b 100644 + switch (cpupower_cpu_info.model) { + case 0x2A: /* SNB */ + case 0x2D: /* SNB Xeon */ ++ /* Monitor named SandyBridge by default */ ++ break; + case 0x3A: /* IVB */ + case 0x3E: /* IVB Xeon */ ++ strcpy(intel_snb_monitor.name, "IvyBridge"); + break; + default: return NULL; diff --git a/cpupower.changes b/cpupower.changes index da66190..aa49979 100644 --- a/cpupower.changes +++ b/cpupower.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Nov 13 11:26:27 UTC 2012 - trenn@suse.de + +- Rename SandyBridge monitor to IvyBridge if CPU is an IvyBridge + ------------------------------------------------------------------- Tue Nov 13 11:08:12 UTC 2012 - trenn@suse.de diff --git a/cpupower.spec b/cpupower.spec index 9ad4d0d..5cf5eb6 100644 --- a/cpupower.spec +++ b/cpupower.spec @@ -17,7 +17,6 @@ # - Name: cpupower Url: http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html # Use this as version when things are in mainline kernel From 5f107c1092982ea797cf5fc721d5d184f99f8147604bbc7ab68e9c01a55227fe Mon Sep 17 00:00:00 2001 From: Thomas Renninger Date: Tue, 13 Nov 2012 13:46:14 +0000 Subject: [PATCH 3/4] OBS-URL: https://build.opensuse.org/package/show/hardware/cpupower?expand=0&rev=20 --- cpupower-ivy_bridge_support.patch | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/cpupower-ivy_bridge_support.patch b/cpupower-ivy_bridge_support.patch index 99abf29..2eeaf1a 100644 --- a/cpupower-ivy_bridge_support.patch +++ b/cpupower-ivy_bridge_support.patch @@ -8,9 +8,10 @@ Git-repo: gitolite@ra.kernel.org:/pub/scm/linux/kernel/git/trenn/cpupower Signed-off-by: Thomas Renninger --- + man/cpupower-monitor.1 | 2 +- utils/helpers/cpuid.c | 2 ++ utils/idle_monitor/snb_idle.c | 13 +++++++++++-- - 2 files changed, 13 insertions(+), 2 deletions(-) + 3 files changed, 14 insertions(+), 3 deletions(-) Index: cpupower-3.4.rc6/utils/helpers/cpuid.c =================================================================== @@ -50,3 +51,16 @@ Index: cpupower-3.4.rc6/utils/idle_monitor/snb_idle.c is_valid = calloc(cpu_count, sizeof(int)); for (num = 0; num < SNB_CSTATE_COUNT; num++) { +Index: cpupower-3.4.rc6/man/cpupower-monitor.1 +=================================================================== +--- cpupower-3.4.rc6.orig/man/cpupower-monitor.1 ++++ cpupower-3.4.rc6/man/cpupower-monitor.1 +@@ -99,7 +99,7 @@ May work poorly on Linux-2.6.20 through + kernel frequency driver periodically cleared aperf/mperf registers in those + kernels. + +-.SS "Nehalem" "SandyBridge" ++.SS "Nehalem" "SandyBridge" "IvyBridge" + Intel Core and Package sleep state counters. + Threads (hyperthreaded cores) may not be able to enter deeper core states if + its sibling is utilized. From 8a92fa8cbf6e79de89e1de7aa5d17e06b0bfcdc30598897143f8faeb5f6b5826 Mon Sep 17 00:00:00 2001 From: Thomas Renninger Date: Wed, 23 Jan 2013 10:50:24 +0000 Subject: [PATCH 4/4] - Update to kernel version 3.7 * IvyBridge support integrated OBS-URL: https://build.opensuse.org/package/show/hardware/cpupower?expand=0&rev=21 --- cpupower-3.4.rc6.tar.bz2 | 3 -- cpupower-3.7.tar.bz2 | 3 ++ cpupower-ivy_bridge_support.patch | 66 ------------------------------- cpupower.changes | 6 +++ cpupower.spec | 7 ++-- 5 files changed, 12 insertions(+), 73 deletions(-) delete mode 100644 cpupower-3.4.rc6.tar.bz2 create mode 100644 cpupower-3.7.tar.bz2 delete mode 100644 cpupower-ivy_bridge_support.patch diff --git a/cpupower-3.4.rc6.tar.bz2 b/cpupower-3.4.rc6.tar.bz2 deleted file mode 100644 index 3b49ed7..0000000 --- a/cpupower-3.4.rc6.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bf5228cfeac92570fbad56c6135462841cdf6c14c99d239370add35c7263c009 -size 68532 diff --git a/cpupower-3.7.tar.bz2 b/cpupower-3.7.tar.bz2 new file mode 100644 index 0000000..a490734 --- /dev/null +++ b/cpupower-3.7.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f7a05b0026ff6ca37400f8c2dc1e282b6d26439bdca087fa11885f18cc0edec +size 68302 diff --git a/cpupower-ivy_bridge_support.patch b/cpupower-ivy_bridge_support.patch deleted file mode 100644 index 2eeaf1a..0000000 --- a/cpupower-ivy_bridge_support.patch +++ /dev/null @@ -1,66 +0,0 @@ -From: Thomas Renninger -Subject: cpupower: IvyBridge (0x3a and 0x3e models) support -References: fate#313856 -Patch-Mainline: Queued in subsystem tree (see Git-Repo:) -Git-commit: 7f163b1bd6e3f7bfa648069770acf2c8fe3d9097 -Git-repo: gitolite@ra.kernel.org:/pub/scm/linux/kernel/git/trenn/cpupower - -Signed-off-by: Thomas Renninger - ---- - man/cpupower-monitor.1 | 2 +- - utils/helpers/cpuid.c | 2 ++ - utils/idle_monitor/snb_idle.c | 13 +++++++++++-- - 3 files changed, 14 insertions(+), 3 deletions(-) - -Index: cpupower-3.4.rc6/utils/helpers/cpuid.c -=================================================================== ---- cpupower-3.4.rc6.orig/utils/helpers/cpuid.c -+++ cpupower-3.4.rc6/utils/helpers/cpuid.c -@@ -158,6 +158,8 @@ out: - cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO; - case 0x2A: /* SNB */ - case 0x2D: /* SNB Xeon */ -+ case 0x3A: /* IVB */ -+ case 0x3E: /* IVB Xeon */ - cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO; - cpu_info->caps |= CPUPOWER_CAP_IS_SNB; - break; -Index: cpupower-3.4.rc6/utils/idle_monitor/snb_idle.c -=================================================================== ---- cpupower-3.4.rc6.orig/utils/idle_monitor/snb_idle.c -+++ cpupower-3.4.rc6/utils/idle_monitor/snb_idle.c -@@ -150,9 +150,18 @@ static struct cpuidle_monitor *snb_regis - || cpupower_cpu_info.family != 6) - return NULL; - -- if (cpupower_cpu_info.model != 0x2A -- && cpupower_cpu_info.model != 0x2D) -+ switch (cpupower_cpu_info.model) { -+ case 0x2A: /* SNB */ -+ case 0x2D: /* SNB Xeon */ -+ /* Monitor named SandyBridge by default */ -+ break; -+ case 0x3A: /* IVB */ -+ case 0x3E: /* IVB Xeon */ -+ strcpy(intel_snb_monitor.name, "IvyBridge"); -+ break; -+ default: - return NULL; -+ } - - is_valid = calloc(cpu_count, sizeof(int)); - for (num = 0; num < SNB_CSTATE_COUNT; num++) { -Index: cpupower-3.4.rc6/man/cpupower-monitor.1 -=================================================================== ---- cpupower-3.4.rc6.orig/man/cpupower-monitor.1 -+++ cpupower-3.4.rc6/man/cpupower-monitor.1 -@@ -99,7 +99,7 @@ May work poorly on Linux-2.6.20 through - kernel frequency driver periodically cleared aperf/mperf registers in those - kernels. - --.SS "Nehalem" "SandyBridge" -+.SS "Nehalem" "SandyBridge" "IvyBridge" - Intel Core and Package sleep state counters. - Threads (hyperthreaded cores) may not be able to enter deeper core states if - its sibling is utilized. diff --git a/cpupower.changes b/cpupower.changes index aa49979..c4eab52 100644 --- a/cpupower.changes +++ b/cpupower.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jan 23 10:49:30 UTC 2013 - trenn@suse.de + +- Update to kernel version 3.7 + * IvyBridge support integrated + ------------------------------------------------------------------- Tue Nov 13 11:26:27 UTC 2012 - trenn@suse.de diff --git a/cpupower.spec b/cpupower.spec index 5cf5eb6..0b2a3f3 100644 --- a/cpupower.spec +++ b/cpupower.spec @@ -1,7 +1,7 @@ # # spec file for package cpupower # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # Author: Thomas Renninger # # All modifications and additions to the file contributed by third parties @@ -17,18 +17,18 @@ # + Name: cpupower Url: http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html # Use this as version when things are in mainline kernel %define version %(rpm -q --qf '%{VERSION}' kernel-source) -Version: 3.4.rc6 +Version: 3.7 Release: 0 Summary: Tools to determine and set CPU Power related Settings License: GPL-2.0 Group: System/Base Source: %{name}-%{version}.tar.bz2 Source1: cpupower_export_tarball_from_git.sh -Patch0: cpupower-ivy_bridge_support.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gettext-tools BuildRequires: pciutils @@ -72,7 +72,6 @@ powersave module. %prep %setup -q -%patch0 -p1 %build # This package failed when testing with -Wl,-as-needed being default.