Accepting request 752877 from home:trenn:branches:hardware

- Update intel-speed-select to latest 5.5-rc1 kernel version
  latest mainline commit:
  commit b3abfd778bf1dbdd
- Update cpupower to latest 5.5-rc1 kernel version
  latest mainline commit:
  commit 4611a4fb0cce3
  Fixes aperf/mperf monitoring on latest AMD Rome CPUs (bsc#1152967)
- Fix library API breakage (bsc#1154240)
A libcpupower_fix_api_cpufreq_get_frequencies_breakage.patch

OBS-URL: https://build.opensuse.org/request/show/752877
OBS-URL: https://build.opensuse.org/package/show/hardware/cpupower?expand=0&rev=102
This commit is contained in:
Tomáš Chvátal 2019-12-02 12:03:46 +00:00 committed by Git OBS Bridge
parent 39b7d948a3
commit 65567d6f5a
10 changed files with 302 additions and 53 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b135312bc54544acfdf3d1dfdb78137a86c273b4040a8538d08fc0026735153b
size 73390

3
cpupower-5.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b7678de31ac93bb8d86bfb552b020596138f56471994beb889215fbf9527442
size 74793

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Thu Nov 28 13:56:32 UTC 2019 - trenn@suse.de
- Update intel-speed-select to latest 5.5-rc1 kernel version
latest mainline commit:
commit b3abfd778bf1dbdd
- Update cpupower to latest 5.5-rc1 kernel version
latest mainline commit:
commit 4611a4fb0cce3
Fixes aperf/mperf monitoring on latest AMD Rome CPUs (bsc#1152967)
- Fix library API breakage (bsc#1154240)
A libcpupower_fix_api_cpufreq_get_frequencies_breakage.patch
-------------------------------------------------------------------
Tue Oct 29 15:22:48 UTC 2019 - trenn@suse.de

View File

@ -27,7 +27,7 @@
Name: cpupower
# Use this as version when things are in mainline kernel
%define version %(rpm -q --qf '%VERSION' kernel-source)
Version: 5.1
Version: 5.5
Release: 0
Summary: Tools to determine and set CPU Power related Settings
License: GPL-2.0-only
@ -42,6 +42,7 @@ Source5: Makefile.intel-speed-select
Patch1: cpupower_rapl.patch
Patch2: rapl_monitor.patch
Patch3: cpupower_exclude_kernel_Makefile.patch
Patch4: libcpupower_fix_api_cpufreq_get_frequencies_breakage.patch
#turbostat patches
Patch22: turbostat_makefile_fix_asm_header.patch
@ -94,6 +95,7 @@ powersave module.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
cd ../turbostat-%{tsversion}
%patch22 -p1

View File

@ -1,13 +1,19 @@
Index: cpupower-4.15/Makefile
Index: cpupower-5.5/Makefile
===================================================================
--- cpupower-4.15.orig/Makefile 2018-01-11 16:49:23.619489210 +0100
+++ cpupower-4.15/Makefile 2018-01-11 16:50:32.263630773 +0100
@@ -30,8 +30,6 @@ OUTDIR := $(shell cd $(OUTPUT) && pwd)
$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
endif
--- cpupower-5.5.orig/Makefile 2019-11-28 14:28:51.545762057 +0100
+++ cpupower-5.5/Makefile 2019-11-28 14:29:55.089765481 +0100
@@ -94,14 +94,7 @@ RANLIB = $(CROSS)ranlib
HOSTCC = gcc
MKDIR = mkdir
-# 64bit library detection
-include ../../scripts/Makefile.arch
-
# --- CONFIGURATION BEGIN ---
-ifeq ($(IS_64_BIT), 1)
libdir ?= /usr/lib64
-else
-libdir ?= /usr/lib
-endif
# Set the following to `true' to make a unstripped, unoptimized
# Now we set up the build system
#

View File

@ -25,11 +25,11 @@ more detailed info later. Like that other args can be added easily later as well
Signed-off-by: Thomas Renninger <trenn@suse.com>
Index: cpupower-5.1/Makefile
Index: cpupower-5.5/Makefile
===================================================================
--- cpupower-5.1.orig/Makefile 2019-05-06 02:42:58.000000000 +0200
+++ cpupower-5.1/Makefile 2019-07-18 12:14:08.787390727 +0200
@@ -143,7 +143,7 @@ UTIL_OBJS = utils/helpers/amd.o utils/h
--- cpupower-5.5.orig/Makefile 2019-11-28 02:45:48.000000000 +0100
+++ cpupower-5.5/Makefile 2019-11-28 14:27:56.753759105 +0100
@@ -133,7 +133,7 @@ UTIL_OBJS = utils/helpers/amd.o utils/h
utils/idle_monitor/mperf_monitor.o utils/idle_monitor/cpupower-monitor.o \
utils/cpupower.o utils/cpufreq-info.o utils/cpufreq-set.o \
utils/cpupower-set.o utils/cpupower-info.o utils/cpuidle-info.o \
@ -38,7 +38,7 @@ Index: cpupower-5.1/Makefile
UTIL_SRC := $(UTIL_OBJS:.o=.c)
@@ -153,9 +153,9 @@ UTIL_HEADERS = utils/helpers/helpers.h u
@@ -143,9 +143,9 @@ UTIL_HEADERS = utils/helpers/helpers.h u
utils/helpers/bitmask.h \
utils/idle_monitor/idle_monitors.h utils/idle_monitor/idle_monitors.def
@ -51,7 +51,7 @@ Index: cpupower-5.1/Makefile
LIB_OBJS := $(addprefix $(OUTPUT),$(LIB_OBJS))
override CFLAGS += -pipe
@@ -286,6 +286,7 @@ install-lib:
@@ -276,6 +276,7 @@ install-lib:
$(INSTALL) -d $(DESTDIR)${includedir}
$(INSTALL_DATA) lib/cpufreq.h $(DESTDIR)${includedir}/cpufreq.h
$(INSTALL_DATA) lib/cpuidle.h $(DESTDIR)${includedir}/cpuidle.h
@ -59,7 +59,7 @@ Index: cpupower-5.1/Makefile
install-tools:
$(INSTALL) -d $(DESTDIR)${bindir}
@@ -302,6 +303,7 @@ install-man:
@@ -292,6 +293,7 @@ install-man:
$(INSTALL_DATA) -D man/cpupower-set.1 $(DESTDIR)${mandir}/man1/cpupower-set.1
$(INSTALL_DATA) -D man/cpupower-info.1 $(DESTDIR)${mandir}/man1/cpupower-info.1
$(INSTALL_DATA) -D man/cpupower-monitor.1 $(DESTDIR)${mandir}/man1/cpupower-monitor.1
@ -67,7 +67,7 @@ Index: cpupower-5.1/Makefile
install-gmo:
$(INSTALL) -d $(DESTDIR)${localedir}
@@ -331,6 +333,7 @@ uninstall:
@@ -321,6 +323,7 @@ uninstall:
- rm -f $(DESTDIR)${mandir}/man1/cpupower-set.1
- rm -f $(DESTDIR)${mandir}/man1/cpupower-info.1
- rm -f $(DESTDIR)${mandir}/man1/cpupower-monitor.1
@ -75,10 +75,10 @@ Index: cpupower-5.1/Makefile
- for HLANG in $(LANGUAGES); do \
rm -f $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \
done;
Index: cpupower-5.1/lib/powercap.c
Index: cpupower-5.5/lib/powercap.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ cpupower-5.1/lib/powercap.c 2019-07-18 12:14:08.787390727 +0200
+++ cpupower-5.5/lib/powercap.c 2019-11-28 14:27:56.753759105 +0100
@@ -0,0 +1,290 @@
+/*
+ * (C) 2016 Thomas Renninger <trenn@suse.com>
@ -370,10 +370,10 @@ Index: cpupower-5.1/lib/powercap.c
+ }
+ return 0;
+}
Index: cpupower-5.1/lib/powercap.h
Index: cpupower-5.5/lib/powercap.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ cpupower-5.1/lib/powercap.h 2019-07-18 12:14:08.787390727 +0200
+++ cpupower-5.5/lib/powercap.h 2019-11-28 14:27:56.753759105 +0100
@@ -0,0 +1,54 @@
+/*
+ * (C) 2016 Thomas Renninger <trenn@suse.com>
@ -429,10 +429,10 @@ Index: cpupower-5.1/lib/powercap.h
+
+
+#endif /* __CPUPOWER_RAPL_H__ */
Index: cpupower-5.1/utils/builtin.h
Index: cpupower-5.5/utils/builtin.h
===================================================================
--- cpupower-5.1.orig/utils/builtin.h 2019-05-06 02:42:58.000000000 +0200
+++ cpupower-5.1/utils/builtin.h 2019-07-18 12:14:08.787390727 +0200
--- cpupower-5.5.orig/utils/builtin.h 2019-11-28 02:45:48.000000000 +0100
+++ cpupower-5.5/utils/builtin.h 2019-11-28 14:27:56.753759105 +0100
@@ -8,6 +8,8 @@ extern int cmd_freq_set(int argc, const
extern int cmd_freq_info(int argc, const char **argv);
extern int cmd_idle_set(int argc, const char **argv);
@ -442,11 +442,11 @@ Index: cpupower-5.1/utils/builtin.h
extern int cmd_monitor(int argc, const char **argv);
#endif
Index: cpupower-5.1/utils/cpupower.c
Index: cpupower-5.5/utils/cpupower.c
===================================================================
--- cpupower-5.1.orig/utils/cpupower.c 2019-05-06 02:42:58.000000000 +0200
+++ cpupower-5.1/utils/cpupower.c 2019-07-18 12:14:08.787390727 +0200
@@ -53,6 +53,7 @@ static struct cmd_struct commands[] = {
--- cpupower-5.5.orig/utils/cpupower.c 2019-11-28 02:45:48.000000000 +0100
+++ cpupower-5.5/utils/cpupower.c 2019-11-28 14:27:56.753759105 +0100
@@ -52,6 +52,7 @@ static struct cmd_struct commands[] = {
{ "frequency-set", cmd_freq_set, 1 },
{ "idle-info", cmd_idle_info, 0 },
{ "idle-set", cmd_idle_set, 1 },
@ -454,10 +454,10 @@ Index: cpupower-5.1/utils/cpupower.c
{ "set", cmd_set, 1 },
{ "info", cmd_info, 0 },
{ "monitor", cmd_monitor, 0 },
Index: cpupower-5.1/utils/powercap-info.c
Index: cpupower-5.5/utils/powercap-info.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ cpupower-5.1/utils/powercap-info.c 2019-07-18 12:14:08.787390727 +0200
+++ cpupower-5.5/utils/powercap-info.c 2019-11-28 14:27:56.753759105 +0100
@@ -0,0 +1,113 @@
+#include <unistd.h>
+#include <stdio.h>
@ -572,10 +572,10 @@ Index: cpupower-5.1/utils/powercap-info.c
+ powercap_show();
+ return 0;
+}
Index: cpupower-5.1/man/cpupower-powercap-info.1
Index: cpupower-5.5/man/cpupower-powercap-info.1
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ cpupower-5.1/man/cpupower-powercap-info.1 2019-07-18 12:14:08.787390727 +0200
+++ cpupower-5.5/man/cpupower-powercap-info.1 2019-11-28 14:27:56.753759105 +0100
@@ -0,0 +1,25 @@
+.TH CPUPOWER\-POWERCAP\-INFO "1" "05/08/2016" "" "cpupower Manual"
+.SH NAME

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2751834c3e67715c000853315c562b4d4d7c3b77e3aca60ac38d529f6c9e44f1
oid sha256:01f2f88a5cafb639d0720f25190e61f2361583da245b90460428dbc476c13df8
size 17036

View File

@ -1,8 +1,8 @@
Index: intel-speed-select-1.0/isst-config.c
===================================================================
--- intel-speed-select-1.0.orig/isst-config.c 2019-07-17 00:15:29.000000000 +0200
+++ intel-speed-select-1.0/isst-config.c 2019-07-17 17:53:30.371832405 +0200
@@ -1521,7 +1521,6 @@ static void usage(void)
--- intel-speed-select-1.0.orig/isst-config.c 2019-11-28 02:45:48.000000000 +0100
+++ intel-speed-select-1.0/isst-config.c 2019-11-28 14:31:29.745770581 +0100
@@ -1618,7 +1618,6 @@ static void usage(void)
static void print_version(void)
{
fprintf(outf, "Version %s\n", version_str);

View File

@ -0,0 +1,228 @@
commit 23ce8fc7ebcf63b986027d7fcd792fd521c43800
Author: Thomas Renninger <trenn@suse.com>
Date: Mon Dec 2 11:50:39 2019 +0100
Revert library ABI changes from commit ae2917093fb60bdc1ed3e
Commit ae2917093fb60bdc1ed3e modified the library function:
struct cpufreq_available_frequencies
*cpufreq_get_available_frequencies(unsigned int cpu)
to
struct cpufreq_frequencies
*cpufreq_get_frequencies(const char *type, unsigned int cpu)
This patch recovers the old API and implements the new functionality
in a newly introduce method:
struct cpufreq_boost_frequencies
*cpufreq_get_available_frequencies(unsigned int cpu)
diff --git a/tools/power/cpupower/lib/cpufreq.c b/tools/power/cpupower/lib/cpufreq.c
index 2f55d4d23446..6e04304560ca 100644
--- a/lib/cpufreq.c
+++ b/lib/cpufreq.c
@@ -332,21 +332,74 @@ void cpufreq_put_available_governors(struct cpufreq_available_governors *any)
}
-struct cpufreq_frequencies
-*cpufreq_get_frequencies(const char *type, unsigned int cpu)
+struct cpufreq_available_frequencies
+*cpufreq_get_available_frequencies(unsigned int cpu)
{
- struct cpufreq_frequencies *first = NULL;
- struct cpufreq_frequencies *current = NULL;
+ struct cpufreq_available_frequencies *first = NULL;
+ struct cpufreq_available_frequencies *current = NULL;
char one_value[SYSFS_PATH_MAX];
char linebuf[MAX_LINE_LEN];
- char fname[MAX_LINE_LEN];
unsigned int pos, i;
unsigned int len;
- snprintf(fname, MAX_LINE_LEN, "scaling_%s_frequencies", type);
+ len = sysfs_cpufreq_read_file(cpu, "scaling_available_frequencies",
+ linebuf, sizeof(linebuf));
+ if (len == 0)
+ return NULL;
- len = sysfs_cpufreq_read_file(cpu, fname,
- linebuf, sizeof(linebuf));
+ pos = 0;
+ for (i = 0; i < len; i++) {
+ if (linebuf[i] == ' ' || linebuf[i] == '\n') {
+ if (i - pos < 2)
+ continue;
+ if (i - pos >= SYSFS_PATH_MAX)
+ goto error_out;
+ if (current) {
+ current->next = malloc(sizeof(*current));
+ if (!current->next)
+ goto error_out;
+ current = current->next;
+ } else {
+ first = malloc(sizeof(*first));
+ if (!first)
+ goto error_out;
+ current = first;
+ }
+ current->first = first;
+ current->next = NULL;
+
+ memcpy(one_value, linebuf + pos, i - pos);
+ one_value[i - pos] = '\0';
+ if (sscanf(one_value, "%lu", &current->frequency) != 1)
+ goto error_out;
+
+ pos = i + 1;
+ }
+ }
+
+ return first;
+
+ error_out:
+ while (first) {
+ current = first->next;
+ free(first);
+ first = current;
+ }
+ return NULL;
+}
+
+struct cpufreq_available_frequencies
+*cpufreq_get_boost_frequencies(unsigned int cpu)
+{
+ struct cpufreq_available_frequencies *first = NULL;
+ struct cpufreq_available_frequencies *current = NULL;
+ char one_value[SYSFS_PATH_MAX];
+ char linebuf[MAX_LINE_LEN];
+ unsigned int pos, i;
+ unsigned int len;
+
+ len = sysfs_cpufreq_read_file(cpu, "scaling_boost_frequencies",
+ linebuf, sizeof(linebuf));
if (len == 0)
return NULL;
@@ -391,9 +444,9 @@ struct cpufreq_frequencies
return NULL;
}
-void cpufreq_put_frequencies(struct cpufreq_frequencies *any)
+void cpufreq_put_available_frequencies(struct cpufreq_available_frequencies *any)
{
- struct cpufreq_frequencies *tmp, *next;
+ struct cpufreq_available_frequencies *tmp, *next;
if (!any)
return;
@@ -406,6 +459,11 @@ void cpufreq_put_frequencies(struct cpufreq_frequencies *any)
}
}
+void cpufreq_put_boost_frequencies(struct cpufreq_available_frequencies *any)
+{
+ cpufreq_put_available_frequencies(any);
+}
+
static struct cpufreq_affected_cpus *sysfs_get_cpu_list(unsigned int cpu,
const char *file)
{
diff --git a/tools/power/cpupower/lib/cpufreq.h b/tools/power/cpupower/lib/cpufreq.h
index a55f0d19215b..95f4fd9e2656 100644
--- a/lib/cpufreq.h
+++ b/lib/cpufreq.h
@@ -20,10 +20,10 @@ struct cpufreq_available_governors {
struct cpufreq_available_governors *first;
};
-struct cpufreq_frequencies {
+struct cpufreq_available_frequencies {
unsigned long frequency;
- struct cpufreq_frequencies *next;
- struct cpufreq_frequencies *first;
+ struct cpufreq_available_frequencies *next;
+ struct cpufreq_available_frequencies *first;
};
@@ -124,11 +124,17 @@ void cpufreq_put_available_governors(
* cpufreq_put_frequencies after use.
*/
-struct cpufreq_frequencies
-*cpufreq_get_frequencies(const char *type, unsigned int cpu);
+struct cpufreq_available_frequencies
+*cpufreq_get_available_frequencies(unsigned int cpu);
-void cpufreq_put_frequencies(
- struct cpufreq_frequencies *first);
+void cpufreq_put_available_frequencies(
+ struct cpufreq_available_frequencies *first);
+
+struct cpufreq_available_frequencies
+*cpufreq_get_boost_frequencies(unsigned int cpu);
+
+void cpufreq_put_boost_frequencies(
+ struct cpufreq_available_frequencies *first);
/* determine affected CPUs
diff --git a/tools/power/cpupower/utils/cpufreq-info.c b/tools/power/cpupower/utils/cpufreq-info.c
index e63cf55f81cf..6efc0f6b1b11 100644
--- a/utils/cpufreq-info.c
+++ b/utils/cpufreq-info.c
@@ -244,14 +244,14 @@ static int get_boost_mode_x86(unsigned int cpu)
static int get_boost_mode(unsigned int cpu)
{
- struct cpufreq_frequencies *freqs;
+ struct cpufreq_available_frequencies *freqs;
if (cpupower_cpu_info.vendor == X86_VENDOR_AMD ||
cpupower_cpu_info.vendor == X86_VENDOR_HYGON ||
cpupower_cpu_info.vendor == X86_VENDOR_INTEL)
return get_boost_mode_x86(cpu);
- freqs = cpufreq_get_frequencies("boost", cpu);
+ freqs = cpufreq_get_boost_frequencies(cpu);
if (freqs) {
printf(_(" boost frequency steps: "));
while (freqs->next) {
@@ -261,7 +261,7 @@ static int get_boost_mode(unsigned int cpu)
}
print_speed(freqs->frequency);
printf("\n");
- cpufreq_put_frequencies(freqs);
+ cpufreq_put_available_frequencies(freqs);
}
return 0;
@@ -475,7 +475,7 @@ static int get_latency(unsigned int cpu, unsigned int human)
static void debug_output_one(unsigned int cpu)
{
- struct cpufreq_frequencies *freqs;
+ struct cpufreq_available_frequencies *freqs;
get_driver(cpu);
get_related_cpus(cpu);
@@ -483,7 +483,7 @@ static void debug_output_one(unsigned int cpu)
get_latency(cpu, 1);
get_hardware_limits(cpu, 1);
- freqs = cpufreq_get_frequencies("available", cpu);
+ freqs = cpufreq_get_available_frequencies(cpu);
if (freqs) {
printf(_(" available frequency steps: "));
while (freqs->next) {
@@ -493,7 +493,7 @@ static void debug_output_one(unsigned int cpu)
}
print_speed(freqs->frequency);
printf("\n");
- cpufreq_put_frequencies(freqs);
+ cpufreq_put_available_frequencies(freqs);
}
get_available_governors(cpu);

View File

@ -3,11 +3,11 @@ cpupower: rapl monitor - shows the used power consumption in uj for each rapl do
Signed-off-by: Thomas Renninger <trenn@suse.com>
Index: cpupower-5.1/Makefile
Index: cpupower-5.5/Makefile
===================================================================
--- cpupower-5.1.orig/Makefile 2019-04-08 16:06:58.426460199 +0200
+++ cpupower-5.1/Makefile 2019-04-08 16:06:59.902460279 +0200
@@ -141,6 +141,7 @@ UTIL_OBJS = utils/helpers/amd.o utils/h
--- cpupower-5.5.orig/Makefile 2019-11-28 14:44:23.261812260 +0100
+++ cpupower-5.5/Makefile 2019-11-28 14:44:28.457812540 +0100
@@ -131,6 +131,7 @@ UTIL_OBJS = utils/helpers/amd.o utils/h
utils/idle_monitor/hsw_ext_idle.o \
utils/idle_monitor/amd_fam14h_idle.o utils/idle_monitor/cpuidle_sysfs.o \
utils/idle_monitor/mperf_monitor.o utils/idle_monitor/cpupower-monitor.o \
@ -15,11 +15,11 @@ Index: cpupower-5.1/Makefile
utils/cpupower.o utils/cpufreq-info.o utils/cpufreq-set.o \
utils/cpupower-set.o utils/cpupower-info.o utils/cpuidle-info.o \
utils/cpuidle-set.o utils/powercap-info.o
Index: cpupower-5.1/utils/idle_monitor/cpupower-monitor.c
Index: cpupower-5.5/utils/idle_monitor/cpupower-monitor.c
===================================================================
--- cpupower-5.1.orig/utils/idle_monitor/cpupower-monitor.c 2019-04-08 07:51:09.000000000 +0200
+++ cpupower-5.1/utils/idle_monitor/cpupower-monitor.c 2019-04-08 16:06:59.906460279 +0200
@@ -459,9 +459,10 @@ int cmd_monitor(int argc, char **argv)
--- cpupower-5.5.orig/utils/idle_monitor/cpupower-monitor.c 2019-11-28 14:44:23.261812260 +0100
+++ cpupower-5.5/utils/idle_monitor/cpupower-monitor.c 2019-11-28 14:44:28.457812540 +0100
@@ -457,9 +457,10 @@ int cmd_monitor(int argc, char **argv)
print_results(1, cpu);
}
@ -33,10 +33,10 @@ Index: cpupower-5.1/utils/idle_monitor/cpupower-monitor.c
cpu_topology_release(cpu_top);
return 0;
}
Index: cpupower-5.1/utils/idle_monitor/idle_monitors.def
Index: cpupower-5.5/utils/idle_monitor/idle_monitors.def
===================================================================
--- cpupower-5.1.orig/utils/idle_monitor/idle_monitors.def 2019-04-08 07:51:09.000000000 +0200
+++ cpupower-5.1/utils/idle_monitor/idle_monitors.def 2019-04-08 16:06:59.906460279 +0200
--- cpupower-5.5.orig/utils/idle_monitor/idle_monitors.def 2019-11-28 14:44:23.261812260 +0100
+++ cpupower-5.5/utils/idle_monitor/idle_monitors.def 2019-11-28 14:44:28.457812540 +0100
@@ -4,5 +4,6 @@ DEF(intel_nhm)
DEF(intel_snb)
DEF(intel_hsw_ext)
@ -44,10 +44,10 @@ Index: cpupower-5.1/utils/idle_monitor/idle_monitors.def
+DEF(rapl)
#endif
DEF(cpuidle_sysfs)
Index: cpupower-5.1/utils/idle_monitor/rapl_monitor.c
Index: cpupower-5.5/utils/idle_monitor/rapl_monitor.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ cpupower-5.1/utils/idle_monitor/rapl_monitor.c 2019-04-08 16:06:59.906460279 +0200
+++ cpupower-5.5/utils/idle_monitor/rapl_monitor.c 2019-11-28 14:44:54.909813966 +0100
@@ -0,0 +1,141 @@
+/*
+ * (C) 2016 Thomas Renninger <trenn@suse.com>
@ -185,7 +185,7 @@ Index: cpupower-5.1/utils/idle_monitor/rapl_monitor.c
+ .start = rapl_start,
+ .stop = rapl_stop,
+ .do_register = rapl_register,
+ .needs_root = 0,
+ .flags.needs_root = 0,
+ .overflow_s = 60 * 60 * 24 * 100, /* To be implemented */
+};
+