[PATCH 0/2] cpufreq: Specify the default governor on command line

STALE2235d

Revision v1 of 2 in this series.

15 messages, 3 authors, 2020-06-23 · open the first message on its own page

[PATCH 0/2] cpufreq: Specify the default governor on command line

From: Quentin Perret <hidden>
Date: 2020-06-15 16:56:03

This series enables users of prebuilt kernels (e.g. distro kernels) to
specify their CPUfreq governor of choice using the kernel command line,
instead of having to wait for the system to fully boot to userspace to
switch using the sysfs interface. This is helpful for 2 reasons:
  1. users get to choose the governor that runs during the actual boot;
  2. it simplifies the userspace boot procedure a bit (one less thing to
     worry about).

To enable this, the first patch moves all governor init calls to
core_initcall, to make sure they are registered by the time the drivers
probe. This should be relatively low impact as registering a governor
is a simple procedure (it gets added to a llist), and all governors
already load at core_initcall anyway when they're set as the default
in Kconfig. This also allows to clean-up the governors' init/exit code,
and reduces boilerplate.

The second patch introduces the new command line parameter, inspired by
its cpuidle counterpart. More details can be found in the respective
patch headers.

Feedback is very much welcome :-)

Thanks,
Quentin

Quentin Perret (2):
  cpufreq: Register governors at core_initcall
  cpufreq: Specify default governor on command line

 .../admin-guide/kernel-parameters.txt         |  5 +++
 Documentation/admin-guide/pm/cpufreq.rst      |  6 ++--
 .../platforms/cell/cpufreq_spudemand.c        | 26 ++------------
 drivers/cpufreq/cpufreq.c                     | 34 ++++++++++++++++---
 drivers/cpufreq/cpufreq_conservative.c        | 22 +++---------
 drivers/cpufreq/cpufreq_ondemand.c            | 24 ++++---------
 drivers/cpufreq/cpufreq_performance.c         | 14 ++------
 drivers/cpufreq/cpufreq_powersave.c           | 18 ++--------
 drivers/cpufreq/cpufreq_userspace.c           | 18 ++--------
 include/linux/cpufreq.h                       | 14 ++++++++
 kernel/sched/cpufreq_schedutil.c              |  6 +---
 11 files changed, 73 insertions(+), 114 deletions(-)

-- 
2.27.0.290.gba653c62da-goog

[PATCH 1/2] cpufreq: Register governors at core_initcall

From: Quentin Perret <hidden>
Date: 2020-06-15 16:56:06

Currently, most CPUFreq governors are registered at core_initcall time
when used as default, and module_init otherwise. In preparation for
letting users specify the default governor on the kernel command line,
change all of them to use core_initcall unconditionally, as is already
the case for schedutil and performance. This will enable us to assume
builtin governors have been registered before the builtin CPUFreq
drivers probe.

And since all governors now have similar init/exit patterns, introduce
two new macros cpufreq_governor_{init,exit}() to factorize the code.

Signed-off-by: Quentin Perret <redacted>
---
Note: I couldn't boot-test the change to spudemand, by lack of hardware.
But I can confirm cell_defconfig compiles just fine.
---
 .../platforms/cell/cpufreq_spudemand.c        | 26 ++-----------------
 drivers/cpufreq/cpufreq_conservative.c        | 22 ++++------------
 drivers/cpufreq/cpufreq_ondemand.c            | 24 +++++------------
 drivers/cpufreq/cpufreq_performance.c         | 14 ++--------
 drivers/cpufreq/cpufreq_powersave.c           | 18 +++----------
 drivers/cpufreq/cpufreq_userspace.c           | 18 +++----------
 include/linux/cpufreq.h                       | 14 ++++++++++
 kernel/sched/cpufreq_schedutil.c              |  6 +----
 8 files changed, 36 insertions(+), 106 deletions(-)
diff --git a/arch/powerpc/platforms/cell/cpufreq_spudemand.c b/arch/powerpc/platforms/cell/cpufreq_spudemand.c
index 55b31eadb3c8..ca7849e113d7 100644
--- a/arch/powerpc/platforms/cell/cpufreq_spudemand.c
+++ b/arch/powerpc/platforms/cell/cpufreq_spudemand.c
@@ -126,30 +126,8 @@ static struct cpufreq_governor spu_governor = {
 	.stop = spu_gov_stop,
 	.owner = THIS_MODULE,
 };
-
-/*
- * module init and destoy
- */
-
-static int __init spu_gov_init(void)
-{
-	int ret;
-
-	ret = cpufreq_register_governor(&spu_governor);
-	if (ret)
-		printk(KERN_ERR "registration of governor failed\n");
-	return ret;
-}
-
-static void __exit spu_gov_exit(void)
-{
-	cpufreq_unregister_governor(&spu_governor);
-}
-
-
-module_init(spu_gov_init);
-module_exit(spu_gov_exit);
+cpufreq_governor_init(spu_governor);
+cpufreq_governor_exit(spu_governor);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Christian Krafft <krafft@de.ibm.com>");
-
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c
index 737ff3b9c2c0..aa39ff31ec9f 100644
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@ -322,17 +322,7 @@ static struct dbs_governor cs_governor = {
 	.start = cs_start,
 };
 
-#define CPU_FREQ_GOV_CONSERVATIVE	(&cs_governor.gov)
-
-static int __init cpufreq_gov_dbs_init(void)
-{
-	return cpufreq_register_governor(CPU_FREQ_GOV_CONSERVATIVE);
-}
-
-static void __exit cpufreq_gov_dbs_exit(void)
-{
-	cpufreq_unregister_governor(CPU_FREQ_GOV_CONSERVATIVE);
-}
+#define CPU_FREQ_GOV_CONSERVATIVE	(cs_governor.gov)
 
 MODULE_AUTHOR("Alexander Clouter <alex@digriz.org.uk>");
 MODULE_DESCRIPTION("'cpufreq_conservative' - A dynamic cpufreq governor for "
@@ -343,11 +333,9 @@ MODULE_LICENSE("GPL");
 #ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
 struct cpufreq_governor *cpufreq_default_governor(void)
 {
-	return CPU_FREQ_GOV_CONSERVATIVE;
+	return &CPU_FREQ_GOV_CONSERVATIVE;
 }
-
-core_initcall(cpufreq_gov_dbs_init);
-#else
-module_init(cpufreq_gov_dbs_init);
 #endif
-module_exit(cpufreq_gov_dbs_exit);
+
+cpufreq_governor_init(CPU_FREQ_GOV_CONSERVATIVE);
+cpufreq_governor_exit(CPU_FREQ_GOV_CONSERVATIVE);
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
index 82a4d37ddecb..ac361a8b1d3b 100644
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@ -408,7 +408,7 @@ static struct dbs_governor od_dbs_gov = {
 	.start = od_start,
 };
 
-#define CPU_FREQ_GOV_ONDEMAND	(&od_dbs_gov.gov)
+#define CPU_FREQ_GOV_ONDEMAND	(od_dbs_gov.gov)
 
 static void od_set_powersave_bias(unsigned int powersave_bias)
 {
@@ -429,7 +429,7 @@ static void od_set_powersave_bias(unsigned int powersave_bias)
 			continue;
 
 		policy = cpufreq_cpu_get_raw(cpu);
-		if (!policy || policy->governor != CPU_FREQ_GOV_ONDEMAND)
+		if (!policy || policy->governor != &CPU_FREQ_GOV_ONDEMAND)
 			continue;
 
 		policy_dbs = policy->governor_data;
@@ -461,16 +461,6 @@ void od_unregister_powersave_bias_handler(void)
 }
 EXPORT_SYMBOL_GPL(od_unregister_powersave_bias_handler);
 
-static int __init cpufreq_gov_dbs_init(void)
-{
-	return cpufreq_register_governor(CPU_FREQ_GOV_ONDEMAND);
-}
-
-static void __exit cpufreq_gov_dbs_exit(void)
-{
-	cpufreq_unregister_governor(CPU_FREQ_GOV_ONDEMAND);
-}
-
 MODULE_AUTHOR("Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>");
 MODULE_AUTHOR("Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>");
 MODULE_DESCRIPTION("'cpufreq_ondemand' - A dynamic cpufreq governor for "
@@ -480,11 +470,9 @@ MODULE_LICENSE("GPL");
 #ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND
 struct cpufreq_governor *cpufreq_default_governor(void)
 {
-	return CPU_FREQ_GOV_ONDEMAND;
+	return &CPU_FREQ_GOV_ONDEMAND;
 }
-
-core_initcall(cpufreq_gov_dbs_init);
-#else
-module_init(cpufreq_gov_dbs_init);
 #endif
-module_exit(cpufreq_gov_dbs_exit);
+
+cpufreq_governor_init(CPU_FREQ_GOV_ONDEMAND);
+cpufreq_governor_exit(CPU_FREQ_GOV_ONDEMAND);
diff --git a/drivers/cpufreq/cpufreq_performance.c b/drivers/cpufreq/cpufreq_performance.c
index def9afe0f5b8..71c1d9aba772 100644
--- a/drivers/cpufreq/cpufreq_performance.c
+++ b/drivers/cpufreq/cpufreq_performance.c
@@ -23,16 +23,6 @@ static struct cpufreq_governor cpufreq_gov_performance = {
 	.limits		= cpufreq_gov_performance_limits,
 };
 
-static int __init cpufreq_gov_performance_init(void)
-{
-	return cpufreq_register_governor(&cpufreq_gov_performance);
-}
-
-static void __exit cpufreq_gov_performance_exit(void)
-{
-	cpufreq_unregister_governor(&cpufreq_gov_performance);
-}
-
 #ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
 struct cpufreq_governor *cpufreq_default_governor(void)
 {
@@ -50,5 +40,5 @@ MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>");
 MODULE_DESCRIPTION("CPUfreq policy governor 'performance'");
 MODULE_LICENSE("GPL");
 
-core_initcall(cpufreq_gov_performance_init);
-module_exit(cpufreq_gov_performance_exit);
+cpufreq_governor_init(cpufreq_gov_performance);
+cpufreq_governor_exit(cpufreq_gov_performance);
diff --git a/drivers/cpufreq/cpufreq_powersave.c b/drivers/cpufreq/cpufreq_powersave.c
index 1ae66019eb83..7749522355b5 100644
--- a/drivers/cpufreq/cpufreq_powersave.c
+++ b/drivers/cpufreq/cpufreq_powersave.c
@@ -23,16 +23,6 @@ static struct cpufreq_governor cpufreq_gov_powersave = {
 	.owner		= THIS_MODULE,
 };
 
-static int __init cpufreq_gov_powersave_init(void)
-{
-	return cpufreq_register_governor(&cpufreq_gov_powersave);
-}
-
-static void __exit cpufreq_gov_powersave_exit(void)
-{
-	cpufreq_unregister_governor(&cpufreq_gov_powersave);
-}
-
 MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>");
 MODULE_DESCRIPTION("CPUfreq policy governor 'powersave'");
 MODULE_LICENSE("GPL");
@@ -42,9 +32,7 @@ struct cpufreq_governor *cpufreq_default_governor(void)
 {
 	return &cpufreq_gov_powersave;
 }
-
-core_initcall(cpufreq_gov_powersave_init);
-#else
-module_init(cpufreq_gov_powersave_init);
 #endif
-module_exit(cpufreq_gov_powersave_exit);
+
+cpufreq_governor_init(cpufreq_gov_powersave);
+cpufreq_governor_exit(cpufreq_gov_powersave);
diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c
index b43e7cd502c5..50a4d7846580 100644
--- a/drivers/cpufreq/cpufreq_userspace.c
+++ b/drivers/cpufreq/cpufreq_userspace.c
@@ -126,16 +126,6 @@ static struct cpufreq_governor cpufreq_gov_userspace = {
 	.owner		= THIS_MODULE,
 };
 
-static int __init cpufreq_gov_userspace_init(void)
-{
-	return cpufreq_register_governor(&cpufreq_gov_userspace);
-}
-
-static void __exit cpufreq_gov_userspace_exit(void)
-{
-	cpufreq_unregister_governor(&cpufreq_gov_userspace);
-}
-
 MODULE_AUTHOR("Dominik Brodowski <linux@brodo.de>, "
 		"Russell King <rmk@arm.linux.org.uk>");
 MODULE_DESCRIPTION("CPUfreq policy governor 'userspace'");
@@ -146,9 +136,7 @@ struct cpufreq_governor *cpufreq_default_governor(void)
 {
 	return &cpufreq_gov_userspace;
 }
-
-core_initcall(cpufreq_gov_userspace_init);
-#else
-module_init(cpufreq_gov_userspace_init);
 #endif
-module_exit(cpufreq_gov_userspace_exit);
+
+cpufreq_governor_init(cpufreq_gov_userspace);
+cpufreq_governor_exit(cpufreq_gov_userspace);
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index 3494f6763597..e62b022cb07e 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -577,6 +577,20 @@ unsigned int cpufreq_policy_transition_delay_us(struct cpufreq_policy *policy);
 int cpufreq_register_governor(struct cpufreq_governor *governor);
 void cpufreq_unregister_governor(struct cpufreq_governor *governor);
 
+#define cpufreq_governor_init(__governor)			\
+static int __init __governor##_init(void)			\
+{								\
+	return cpufreq_register_governor(&__governor);	\
+}								\
+core_initcall(__governor##_init)
+
+#define cpufreq_governor_exit(__governor)			\
+static void __exit __governor##_exit(void)			\
+{								\
+	return cpufreq_unregister_governor(&__governor);	\
+}								\
+module_exit(__governor##_exit)
+
 struct cpufreq_governor *cpufreq_default_governor(void);
 struct cpufreq_governor *cpufreq_fallback_governor(void);
 
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index 7fbaee24c824..402a09af9f43 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -909,11 +909,7 @@ struct cpufreq_governor *cpufreq_default_governor(void)
 }
 #endif
 
-static int __init sugov_register(void)
-{
-	return cpufreq_register_governor(&schedutil_gov);
-}
-core_initcall(sugov_register);
+cpufreq_governor_init(schedutil_gov);
 
 #ifdef CONFIG_ENERGY_MODEL
 extern bool sched_energy_update;
-- 
2.27.0.290.gba653c62da-goog

[PATCH 2/2] cpufreq: Specify default governor on command line

From: Quentin Perret <hidden>
Date: 2020-06-15 16:56:08

Currently, the only way to specify the default CPUfreq governor is via
Kconfig options, which suits users who can build the kernel themselves
perfectly.

However, for those who use a distro-like kernel (such as Android, with
the Generic Kernel Image project), the only way to use a different
default is to boot to userspace, and to then switch using the sysfs
interface. Being able to specify the default governor on the command
line, like is the case for cpuidle, would enable those users to specify
their governor of choice earlier on, and to simplify slighlty the
userspace boot procedure.

To support this use-case, add a kernel command line parameter enabling
to specify a default governor for CPUfreq, which takes precedence over
the builtin default.

This implementation has one notable limitation: the default governor
must be registered before the driver. This is solved for builtin
governors and drivers using appropriate *_initcall() functions. And in
the modular case, this must be reflected as a constraint on the module
loading order.

Signed-off-by: Quentin Perret <redacted>
---
 .../admin-guide/kernel-parameters.txt         |  5 +++
 Documentation/admin-guide/pm/cpufreq.rst      |  6 ++--
 drivers/cpufreq/cpufreq.c                     | 34 ++++++++++++++++---
 3 files changed, 37 insertions(+), 8 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index fb95fad81c79..5fd3c9f187eb 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -703,6 +703,11 @@
 	cpufreq.off=1	[CPU_FREQ]
 			disable the cpufreq sub-system
 
+	cpufreq.default_governor=
+			[CPU_FREQ] Name of the default cpufreq governor to use.
+			This governor must be registered in the kernel before
+			the cpufreq driver probes.
+
 	cpu_init_udelay=N
 			[X86] Delay for N microsec between assert and de-assert
 			of APIC INIT to start processors.  This delay occurs
diff --git a/Documentation/admin-guide/pm/cpufreq.rst b/Documentation/admin-guide/pm/cpufreq.rst
index 0c74a7784964..368e612145d2 100644
--- a/Documentation/admin-guide/pm/cpufreq.rst
+++ b/Documentation/admin-guide/pm/cpufreq.rst
@@ -147,9 +147,9 @@ CPUs in it.
 
 The next major initialization step for a new policy object is to attach a
 scaling governor to it (to begin with, that is the default scaling governor
-determined by the kernel configuration, but it may be changed later
-via ``sysfs``).  First, a pointer to the new policy object is passed to the
-governor's ``->init()`` callback which is expected to initialize all of the
+determined by the kernel command line or configuration, but it may be changed
+later via ``sysfs``).  First, a pointer to the new policy object is passed to
+the governor's ``->init()`` callback which is expected to initialize all of the
 data structures necessary to handle the given policy and, possibly, to add
 a governor ``sysfs`` interface to it.  Next, the governor is started by
 invoking its ``->start()`` callback.
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 0128de3603df..0f05caedc320 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -50,6 +50,9 @@ static LIST_HEAD(cpufreq_governor_list);
 #define for_each_governor(__governor)				\
 	list_for_each_entry(__governor, &cpufreq_governor_list, governor_list)
 
+static char cpufreq_param_governor[CPUFREQ_NAME_LEN];
+static struct cpufreq_governor *default_governor;
+
 /**
  * The "cpufreq driver" - the arch- or hardware-dependent low
  * level driver of CPUFreq support, and its spinlock. This lock
@@ -1055,7 +1058,6 @@ __weak struct cpufreq_governor *cpufreq_default_governor(void)
 
 static int cpufreq_init_policy(struct cpufreq_policy *policy)
 {
-	struct cpufreq_governor *def_gov = cpufreq_default_governor();
 	struct cpufreq_governor *gov = NULL;
 	unsigned int pol = CPUFREQ_POLICY_UNKNOWN;
 
@@ -1065,8 +1067,8 @@ static int cpufreq_init_policy(struct cpufreq_policy *policy)
 		if (gov) {
 			pr_debug("Restoring governor %s for cpu %d\n",
 				 policy->governor->name, policy->cpu);
-		} else if (def_gov) {
-			gov = def_gov;
+		} else if (default_governor) {
+			gov = default_governor;
 		} else {
 			return -ENODATA;
 		}
@@ -1074,8 +1076,8 @@ static int cpufreq_init_policy(struct cpufreq_policy *policy)
 		/* Use the default policy if there is no last_policy. */
 		if (policy->last_policy) {
 			pol = policy->last_policy;
-		} else if (def_gov) {
-			pol = cpufreq_parse_policy(def_gov->name);
+		} else if (default_governor) {
+			pol = cpufreq_parse_policy(default_governor->name);
 			/*
 			 * In case the default governor is neiter "performance"
 			 * nor "powersave", fall back to the initial policy
@@ -2196,6 +2198,24 @@ __weak struct cpufreq_governor *cpufreq_fallback_governor(void)
 	return NULL;
 }
 
+static void cpufreq_get_default_governor(void)
+{
+	default_governor = cpufreq_parse_governor(cpufreq_param_governor);
+	if (!default_governor) {
+		if (*cpufreq_param_governor)
+			pr_warn("Failed to find %s\n", cpufreq_param_governor);
+		default_governor = cpufreq_default_governor();
+	}
+}
+
+static void cpufreq_put_default_governor(void)
+{
+	if (!default_governor)
+		return;
+	module_put(default_governor->owner);
+	default_governor = NULL;
+}
+
 static int cpufreq_init_governor(struct cpufreq_policy *policy)
 {
 	int ret;
@@ -2701,6 +2721,8 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
 
 	if (driver_data->setpolicy)
 		driver_data->flags |= CPUFREQ_CONST_LOOPS;
+	else
+		cpufreq_get_default_governor();
 
 	if (cpufreq_boost_supported()) {
 		ret = create_boost_sysfs_file();
@@ -2769,6 +2791,7 @@ int cpufreq_unregister_driver(struct cpufreq_driver *driver)
 	subsys_interface_unregister(&cpufreq_interface);
 	remove_boost_sysfs_file();
 	cpuhp_remove_state_nocalls_cpuslocked(hp_online);
+	cpufreq_put_default_governor();
 
 	write_lock_irqsave(&cpufreq_driver_lock, flags);
 
@@ -2792,4 +2815,5 @@ static int __init cpufreq_core_init(void)
 	return 0;
 }
 module_param(off, int, 0444);
+module_param_string(default_governor, cpufreq_param_governor, CPUFREQ_NAME_LEN, 0444);
 core_initcall(cpufreq_core_init);
-- 
2.27.0.290.gba653c62da-goog

Re: [PATCH 2/2] cpufreq: Specify default governor on command line

From: Quentin Perret <hidden>
Date: 2020-06-15 17:41:50

On Monday 15 Jun 2020 at 17:55:54 (+0100), Quentin Perret wrote:
quoted hunk
 static int cpufreq_init_governor(struct cpufreq_policy *policy)
 {
 	int ret;
@@ -2701,6 +2721,8 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
 
 	if (driver_data->setpolicy)
 		driver_data->flags |= CPUFREQ_CONST_LOOPS;
+	else
+		cpufreq_get_default_governor();
Looking at this again, it appears that the comment above
cpufreq_parse_governor() confused me a bit -- this needs doing
unconditionally I think.

I'll fix it in v2.

Thanks,
Quentin

Re: [PATCH 1/2] cpufreq: Register governors at core_initcall

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2020-06-16 04:28:39

On 15-06-20, 17:55, Quentin Perret wrote:
Currently, most CPUFreq governors are registered at core_initcall time
when used as default, and module_init otherwise. In preparation for
letting users specify the default governor on the kernel command line,
change all of them to use core_initcall unconditionally, as is already
the case for schedutil and performance. This will enable us to assume
builtin governors have been registered before the builtin CPUFreq
drivers probe.

And since all governors now have similar init/exit patterns, introduce
two new macros cpufreq_governor_{init,exit}() to factorize the code.

Signed-off-by: Quentin Perret <redacted>
---
Note: I couldn't boot-test the change to spudemand, by lack of hardware.
But I can confirm cell_defconfig compiles just fine.
---
 .../platforms/cell/cpufreq_spudemand.c        | 26 ++-----------------
 drivers/cpufreq/cpufreq_conservative.c        | 22 ++++------------
 drivers/cpufreq/cpufreq_ondemand.c            | 24 +++++------------
 drivers/cpufreq/cpufreq_performance.c         | 14 ++--------
 drivers/cpufreq/cpufreq_powersave.c           | 18 +++----------
 drivers/cpufreq/cpufreq_userspace.c           | 18 +++----------
 include/linux/cpufreq.h                       | 14 ++++++++++
 kernel/sched/cpufreq_schedutil.c              |  6 +----
 8 files changed, 36 insertions(+), 106 deletions(-)
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

-- 
viresh

Re: [PATCH 2/2] cpufreq: Specify default governor on command line

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2020-06-16 04:31:49

On 15-06-20, 17:55, Quentin Perret wrote:
+static void cpufreq_get_default_governor(void)
+{
+	default_governor = cpufreq_parse_governor(cpufreq_param_governor);
+	if (!default_governor) {
+		if (*cpufreq_param_governor)
+			pr_warn("Failed to find %s\n", cpufreq_param_governor);
+		default_governor = cpufreq_default_governor();
A module_get() never happened for this case and so maybe a
module_put() should never get called.
quoted hunk
+	}
+}
+
+static void cpufreq_put_default_governor(void)
+{
+	if (!default_governor)
+		return;
+	module_put(default_governor->owner);
+	default_governor = NULL;
+}
+
 static int cpufreq_init_governor(struct cpufreq_policy *policy)
 {
 	int ret;
@@ -2701,6 +2721,8 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
 
 	if (driver_data->setpolicy)
 		driver_data->flags |= CPUFREQ_CONST_LOOPS;
+	else
+		cpufreq_get_default_governor();
 
 	if (cpufreq_boost_supported()) {
 		ret = create_boost_sysfs_file();
@@ -2769,6 +2791,7 @@ int cpufreq_unregister_driver(struct cpufreq_driver *driver)
 	subsys_interface_unregister(&cpufreq_interface);
 	remove_boost_sysfs_file();
 	cpuhp_remove_state_nocalls_cpuslocked(hp_online);
+	cpufreq_put_default_governor();
 
 	write_lock_irqsave(&cpufreq_driver_lock, flags);
 
@@ -2792,4 +2815,5 @@ static int __init cpufreq_core_init(void)
 	return 0;
 }
And since this is a per boot thing, there is perhaps no need of doing
these at driver register/unregister, I would rather do it at:
cpufreq_core_init() time itself and so we will never need to run
cpufreq_put_default_governor() and so can be removed.

And another thing I am not able to understand (despite you commenting
about that in the commit log) is what happens if the default governor
chosen is built as a module ?

-- 
viresh

Re: [PATCH 2/2] cpufreq: Specify default governor on command line

From: Quentin Perret <hidden>
Date: 2020-06-16 08:31:18

Hey Viresh,

On Tuesday 16 Jun 2020 at 10:01:43 (+0530), Viresh Kumar wrote:
On 15-06-20, 17:55, Quentin Perret wrote:
quoted
+static void cpufreq_get_default_governor(void)
+{
+	default_governor = cpufreq_parse_governor(cpufreq_param_governor);
+	if (!default_governor) {
+		if (*cpufreq_param_governor)
+			pr_warn("Failed to find %s\n", cpufreq_param_governor);
+		default_governor = cpufreq_default_governor();
A module_get() never happened for this case and so maybe a
module_put() should never get called.
Correct, however cpufreq_default_governor() being a weak function, we're
basically guaranteed the governor we get from there is builtin, so
gov->owner is NULL. That is, module_put() is not actively useful, but it
doesn't harm. So I figured that should be fine. That could definitely
use a comment, though :)
quoted
+	}
+}
+
+static void cpufreq_put_default_governor(void)
+{
+	if (!default_governor)
+		return;
+	module_put(default_governor->owner);
+	default_governor = NULL;
+}
+
 static int cpufreq_init_governor(struct cpufreq_policy *policy)
 {
 	int ret;
@@ -2701,6 +2721,8 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
 
 	if (driver_data->setpolicy)
 		driver_data->flags |= CPUFREQ_CONST_LOOPS;
+	else
+		cpufreq_get_default_governor();
 
 	if (cpufreq_boost_supported()) {
 		ret = create_boost_sysfs_file();
@@ -2769,6 +2791,7 @@ int cpufreq_unregister_driver(struct cpufreq_driver *driver)
 	subsys_interface_unregister(&cpufreq_interface);
 	remove_boost_sysfs_file();
 	cpuhp_remove_state_nocalls_cpuslocked(hp_online);
+	cpufreq_put_default_governor();
 
 	write_lock_irqsave(&cpufreq_driver_lock, flags);
 
@@ -2792,4 +2815,5 @@ static int __init cpufreq_core_init(void)
 	return 0;
 }
And since this is a per boot thing, there is perhaps no need of doing
these at driver register/unregister, I would rather do it at:
cpufreq_core_init() time itself and so we will never need to run
cpufreq_put_default_governor() and so can be removed.
Right, so the reason I avoided cpufreq_core_init() was because it is
called at core_initcall() time, which means I can't really assume the
governors have been loaded by that time. By waiting for the driver to
probe before detecting the default gov, we get that nice ordering. But
yes, it feels odd to have it here :/

Thinking about it more, the natural fit for this would rather be the
register/unregister path for governors directly. If that sounds good to
you (?) I'll try to move it there in v2.
And another thing I am not able to understand (despite you commenting
about that in the commit log) is what happens if the default governor
chosen is built as a module ?
So the answer is 'it depends'. If the driver is built as a module too,
then you should load the governor module first, and then the driver
module, and everything will work just fine.

But in the case where the governor is loaded _after_ the driver (either
because we got the module ordering wrong, or because the driver is
builtin), then the policies will be initialized with the builtin
default, and nothing special will happen when the governor module is
loaded.

That behaviour very much is open for discussion, though. A possible
alternative would be to automatically switch all policies to the default
governor upon loading. That would have the nice benefit or removing the
ordering dependency, but that is more involved and I didn't have a
use-case for it, so I went for the simpler option ('the-default
governor-needs-to-be-registered-before-the-policies-are-created').

Thoughts?

Thanks,
Quentin

Re: [PATCH 1/2] cpufreq: Register governors at core_initcall

From: Quentin Perret <hidden>
Date: 2020-06-16 08:31:36

On Tuesday 16 Jun 2020 at 09:58:31 (+0530), Viresh Kumar wrote:
On 15-06-20, 17:55, Quentin Perret wrote:
quoted
Currently, most CPUFreq governors are registered at core_initcall time
when used as default, and module_init otherwise. In preparation for
letting users specify the default governor on the kernel command line,
change all of them to use core_initcall unconditionally, as is already
the case for schedutil and performance. This will enable us to assume
builtin governors have been registered before the builtin CPUFreq
drivers probe.

And since all governors now have similar init/exit patterns, introduce
two new macros cpufreq_governor_{init,exit}() to factorize the code.

Signed-off-by: Quentin Perret <redacted>
---
Note: I couldn't boot-test the change to spudemand, by lack of hardware.
But I can confirm cell_defconfig compiles just fine.
---
 .../platforms/cell/cpufreq_spudemand.c        | 26 ++-----------------
 drivers/cpufreq/cpufreq_conservative.c        | 22 ++++------------
 drivers/cpufreq/cpufreq_ondemand.c            | 24 +++++------------
 drivers/cpufreq/cpufreq_performance.c         | 14 ++--------
 drivers/cpufreq/cpufreq_powersave.c           | 18 +++----------
 drivers/cpufreq/cpufreq_userspace.c           | 18 +++----------
 include/linux/cpufreq.h                       | 14 ++++++++++
 kernel/sched/cpufreq_schedutil.c              |  6 +----
 8 files changed, 36 insertions(+), 106 deletions(-)
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Thanks!
Quentin

Re: [PATCH 2/2] cpufreq: Specify default governor on command line

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2020-06-16 09:28:06

On 16-06-20, 09:31, Quentin Perret wrote:
Right, so the reason I avoided cpufreq_core_init() was because it is
called at core_initcall() time, which means I can't really assume the
governors have been loaded by that time. By waiting for the driver to
probe before detecting the default gov, we get that nice ordering. But
yes, it feels odd to have it here :/

Thinking about it more, the natural fit for this would rather be the
register/unregister path for governors directly. If that sounds good to
you (?) I'll try to move it there in v2.
There is another problem here which we need to look at. Any governor
which is built as a module and isn't currently used, should be allowed
to unload. And this needs to be tested by you as well, should be easy
enough.

With the current implementation, you take a reference to the default
governor when the driver is registered and drop it only when the
driver goes away. Which means we won't be able to unload the module of
the governor even if it isn't used. Which is wrong. The solution I
proposed had the same issue as well.

You need to figure out a way where we don't need to keep holding the
module hostage even when it isn't used. I see two ways at least for
the same:

- Do that from the existing place: cpufreq_init_policy().

- And I think this can be done from governor-register/unregister as
  well.

Second one sounds good, if it is feasible to do that.

-- 
viresh

Re: [PATCH 2/2] cpufreq: Specify default governor on command line

From: Quentin Perret <hidden>
Date: 2020-06-16 09:48:12

On Tuesday 16 Jun 2020 at 14:57:59 (+0530), Viresh Kumar wrote:
There is another problem here which we need to look at. Any governor
which is built as a module and isn't currently used, should be allowed
to unload. And this needs to be tested by you as well, should be easy
enough.

With the current implementation, you take a reference to the default
governor when the driver is registered and drop it only when the
driver goes away. Which means we won't be able to unload the module of
the governor even if it isn't used. Which is wrong. The solution I
proposed had the same issue as well.

You need to figure out a way where we don't need to keep holding the
module hostage even when it isn't used. I see two ways at least for
the same:

- Do that from the existing place: cpufreq_init_policy().

- And I think this can be done from governor-register/unregister as
  well.

Second one sounds good, if it is feasible to do that.
Good point.

I'm thinking something along the lines of:

---8<---
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 0f05caedc320..a9219404e07f 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -2340,6 +2340,11 @@ int cpufreq_register_governor(struct cpufreq_governor *governor)
 		list_add(&governor->governor_list, &cpufreq_governor_list);
 	}
 
+	if (!strncasecmp(cpufreq_param_governor, governor->name, CPUFREQ_NAME_LEN))
+		default_governor = governor;
+	else if (!default_governor && cpufreq_default_governor() == governor)
+		default_governor = cpufreq_default_governor();
+
 	mutex_unlock(&cpufreq_governor_mutex);
 	return err;
 }
@@ -2368,6 +2373,8 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor)
 
 	mutex_lock(&cpufreq_governor_mutex);
 	list_del(&governor->governor_list);
+	if (governor == default_governor)
+		default_governor = cpufreq_default_governor();
 	mutex_unlock(&cpufreq_governor_mutex);
 }
 EXPORT_SYMBOL_GPL(cpufreq_unregister_governor);
--->8---
should do the trick. That removes the unnecessary reference count, and
feels like a good place to hook things -- that is how cpuidle does it
too IIRC.

I'll double check the locking/synchronization, but that shouldn't be too
bad (famous last words).

Cheers,
Quentin

Re: [PATCH 2/2] cpufreq: Specify default governor on command line

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2020-06-16 09:54:45

On 16-06-20, 10:48, Quentin Perret wrote:
quoted hunk
---8<---
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 0f05caedc320..a9219404e07f 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -2340,6 +2340,11 @@ int cpufreq_register_governor(struct cpufreq_governor *governor)
 		list_add(&governor->governor_list, &cpufreq_governor_list);
 	}
 
+	if (!strncasecmp(cpufreq_param_governor, governor->name, CPUFREQ_NAME_LEN))
+		default_governor = governor;
+	else if (!default_governor && cpufreq_default_governor() == governor)
+		default_governor = cpufreq_default_governor();
Instead of the else part here, maybe just do this from
cpufreq_core_init() only once, and so we will always have
default_governor set.
quoted hunk
+
 	mutex_unlock(&cpufreq_governor_mutex);
 	return err;
 }
@@ -2368,6 +2373,8 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor)
 
 	mutex_lock(&cpufreq_governor_mutex);
 	list_del(&governor->governor_list);
+	if (governor == default_governor)
+		default_governor = cpufreq_default_governor();
 	mutex_unlock(&cpufreq_governor_mutex);
 }
 EXPORT_SYMBOL_GPL(cpufreq_unregister_governor);
--->8---
should do the trick. That removes the unnecessary reference count, and
feels like a good place to hook things -- that is how cpuidle does it
too IIRC.

I'll double check the locking/synchronization, but that shouldn't be too
bad (famous last words).

Cheers,
Quentin
-- 
viresh

Re: [PATCH 2/2] cpufreq: Specify default governor on command line

From: Quentin Perret <hidden>
Date: 2020-06-16 09:56:54

On Tuesday 16 Jun 2020 at 15:24:38 (+0530), Viresh Kumar wrote:
On 16-06-20, 10:48, Quentin Perret wrote:
quoted
---8<---
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 0f05caedc320..a9219404e07f 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -2340,6 +2340,11 @@ int cpufreq_register_governor(struct cpufreq_governor *governor)
 		list_add(&governor->governor_list, &cpufreq_governor_list);
 	}
 
+	if (!strncasecmp(cpufreq_param_governor, governor->name, CPUFREQ_NAME_LEN))
+		default_governor = governor;
+	else if (!default_governor && cpufreq_default_governor() == governor)
+		default_governor = cpufreq_default_governor();
Instead of the else part here, maybe just do this from
cpufreq_core_init() only once, and so we will always have
default_governor set.
Sounds good.

Thanks!
Quentin

[cpufreq] d83f959b5e: aim7.jobs-per-min -30.2% regression

From: kernel test robot <hidden>
Date: 2020-06-20 14:39:05

Greeting,

FYI, we noticed a -30.2% regression of aim7.jobs-per-min due to commit:


commit: d83f959b5e7a6378a4afbff23de2a2d064d95749 ("[PATCH 2/2] cpufreq: Specify default governor on command line")
url: https://github.com/0day-ci/linux/commits/Quentin-Perret/cpufreq-Specify-the-default-governor-on-command-line/20200616-005920
base: https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git linux-next

in testcase: aim7
on test machine: 72 threads Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz with 128G memory
with following parameters:

	disk: 1BRD_48G
	fs: xfs
	test: disk_src
	load: 3000
	cpufreq_governor: performance
	ucode: 0x2006906

test-description: AIM7 is a traditional UNIX system level benchmark suite which is used to test and measure the performance of multiuser system.
test-url: https://sourceforge.net/projects/aimbench/files/aim-suite7/

In addition to that, the commit also has significant impact on the following tests:

If you fix the issue, kindly add following tag
Reported-by: kernel test robot <redacted>


Details are as below:
-------------------------------------------------------------------------------------------------->


To reproduce:

        git clone https://github.com/intel/lkp-tests.git
        cd lkp-tests
        bin/lkp install job.yaml  # job file is attached in this email
        bin/lkp run     job.yaml

=========================================================================================
compiler/cpufreq_governor/disk/fs/kconfig/load/rootfs/tbox_group/test/testcase/ucode:
  gcc-9/performance/1BRD_48G/xfs/x86_64-rhel-7.6/3000/debian-x86_64-20191114.cgz/lkp-skl-2sp7/disk_src/aim7/0x2006906

commit: 
  21bf3e69e5 ("cpufreq: Register governors at core_initcall")
  d83f959b5e ("cpufreq: Specify default governor on command line")

21bf3e69e51e91cd d83f959b5e7a6378a4afbff23de 
---------------- --------------------------- 
       fail:runs  %reproduction    fail:runs
           |             |             |    
           :4          100%           4:4     kmsg.cpufreq:cpufreq_online:Failed_to_initialize_policy_for_cpu:#(-#)
         %stddev     %change         %stddev
             \          |                \  
     37531           -30.2%      26214        aim7.jobs-per-min
    479.85           +43.2%     686.95        aim7.time.elapsed_time
    479.85           +43.2%     686.95        aim7.time.elapsed_time.max
      1489 ±  2%     +38.4%       2061        aim7.time.involuntary_context_switches
      1126           +44.4%       1626        aim7.time.system_time
     49.29           +49.9%      73.87        aim7.time.user_time
      3.01            +1.7%       3.06        iostat.cpu.system
      4535           -32.3%       3070 ±  2%  vmstat.io.bo
    133979           -29.0%      95145        vmstat.system.cs
     24.32            +1.6%      24.71        boot-time.boot
     15.32            +3.8%      15.90        boot-time.dhcp
      1446            +1.6%       1468        boot-time.idle
 5.532e+08 ±  5%     -36.1%  3.538e+08 ±  2%  cpuidle.C1.time
   5739465 ±  2%     -31.5%    3933307        cpuidle.C1.usage
  78066984 ± 13%     +24.5%   97217135 ±  9%  cpuidle.C1E.usage
   7739904 ±  5%     +15.4%    8929792 ±  4%  meminfo.DirectMap2M
    590700 ±  5%     -23.9%     449388 ±  7%  meminfo.DirectMap4k
      5963           -30.2%       4160        meminfo.max_used_kB
    113.75 ± 57%    +295.4%     449.75 ± 79%  numa-meminfo.node0.Inactive(file)
   1040851 ±  6%     +17.5%    1222596 ± 14%  numa-meminfo.node0.MemUsed
      1316 ± 50%   +2193.8%      30192 ±143%  numa-meminfo.node0.PageTables
    129108 ±  6%     +33.7%     172589 ± 23%  numa-meminfo.node0.Slab
    100458 ± 37%     +73.4%     174147 ± 21%  numa-meminfo.node1.AnonHugePages
     81000 ±  5%     -16.3%      67824 ± 10%  numa-meminfo.node1.KReclaimable
     81000 ±  5%     -16.3%      67824 ± 10%  numa-meminfo.node1.SReclaimable
     13.50 ±133%    +596.3%      94.00 ±102%  numa-vmstat.node0.nr_dirtied
     28.25 ± 57%    +296.5%     112.00 ± 79%  numa-vmstat.node0.nr_inactive_file
    328.50 ± 50%   +2200.5%       7557 ±143%  numa-vmstat.node0.nr_page_table_pages
     13.50 ±133%    +592.6%      93.50 ±103%  numa-vmstat.node0.nr_written
     28.25 ± 57%    +296.5%     112.00 ± 79%  numa-vmstat.node0.nr_zone_inactive_file
     48.50 ± 37%     +74.2%      84.50 ± 21%  numa-vmstat.node1.nr_anon_transparent_hugepages
     20249 ±  5%     -16.3%      16952 ± 10%  numa-vmstat.node1.nr_slab_reclaimable
      4779 ±  6%     +36.1%       6506 ±  2%  slabinfo.Acpi-State.active_objs
      4779 ±  6%     +36.1%       6506 ±  2%  slabinfo.Acpi-State.num_objs
    536.25 ±  9%     +13.8%     610.25 ±  7%  slabinfo.UDP.active_objs
    536.25 ±  9%     +13.8%     610.25 ±  7%  slabinfo.UDP.num_objs
      2894 ± 10%     +18.2%       3419 ±  6%  slabinfo.eventpoll_pwq.active_objs
      2894 ± 10%     +18.2%       3419 ±  6%  slabinfo.eventpoll_pwq.num_objs
    648.00 ± 21%     +34.6%     872.00 ±  4%  slabinfo.kmalloc-rcl-128.active_objs
    648.00 ± 21%     +34.6%     872.00 ±  4%  slabinfo.kmalloc-rcl-128.num_objs
    268.25 ± 21%     +57.9%     423.50 ±  7%  slabinfo.nfs_read_data.active_objs
    268.25 ± 21%     +57.9%     423.50 ±  7%  slabinfo.nfs_read_data.num_objs
    685.00 ± 10%     +16.8%     800.25 ±  5%  slabinfo.skbuff_fclone_cache.active_objs
    685.00 ± 10%     +16.8%     800.25 ±  5%  slabinfo.skbuff_fclone_cache.num_objs
     94.50            +6.3%     100.50        proc-vmstat.nr_anon_transparent_hugepages
    322.50            +2.8%     331.50        proc-vmstat.nr_dirtied
      4433            +2.1%       4526        proc-vmstat.nr_inactive_anon
    337.25            +2.6%     346.00        proc-vmstat.nr_inactive_file
    322.00            +2.7%     330.75        proc-vmstat.nr_written
      4433            +2.1%       4526        proc-vmstat.nr_zone_inactive_anon
    337.25            +2.6%     346.00        proc-vmstat.nr_zone_inactive_file
   1279746           +32.0%    1688708        proc-vmstat.numa_hit
   1256250           +32.6%    1665258        proc-vmstat.numa_local
      1568 ±  4%     -25.6%       1166 ±  2%  proc-vmstat.pgactivate
   1474183           +28.3%    1890851        proc-vmstat.pgalloc_normal
   1400035           +37.3%    1922052        proc-vmstat.pgfault
   1425068           +29.5%    1845014        proc-vmstat.pgfree
    857.00 ±  9%     +42.1%       1218 ±  5%  proc-vmstat.pgpgin
   2188373            -3.2%    2118251 ±  2%  proc-vmstat.pgpgout
      8038 ±  6%     +44.2%      11589        sched_debug.cfs_rq:/.exec_clock.avg
     11048 ±  2%     +38.4%      15291 ±  2%  sched_debug.cfs_rq:/.exec_clock.max
      6322 ±  7%     +42.8%       9029 ±  9%  sched_debug.cfs_rq:/.exec_clock.min
    750.65 ±  6%     +22.8%     922.15 ± 13%  sched_debug.cfs_rq:/.exec_clock.stddev
     18.09 ± 10%     -21.3%      14.24        sched_debug.cfs_rq:/.load_avg.avg
    394.62 ±  2%      +9.3%     431.44 ±  3%  sched_debug.cfs_rq:/.load_avg.max
      0.32 ± 13%    +121.3%       0.71 ± 11%  sched_debug.cfs_rq:/.nr_spread_over.avg
      3.22 ± 58%     -54.1%       1.48 ± 36%  sched_debug.cfs_rq:/.removed.load_avg.avg
    116.86 ±  5%     -28.2%      83.94        sched_debug.cfs_rq:/.removed.load_avg.max
     18.23 ± 26%     -40.3%      10.88 ± 17%  sched_debug.cfs_rq:/.removed.load_avg.stddev
      3.22 ± 58%     -54.1%       1.48 ± 36%  sched_debug.cfs_rq:/.removed.runnable_avg.avg
    116.86 ±  5%     -28.2%      83.94        sched_debug.cfs_rq:/.removed.runnable_avg.max
     18.23 ± 26%     -40.3%      10.88 ± 17%  sched_debug.cfs_rq:/.removed.runnable_avg.stddev
    149.95 ±  4%     -22.3%     116.58 ±  4%  sched_debug.cfs_rq:/.runnable_avg.avg
      1407 ±  6%      -8.3%       1291 ±  3%  sched_debug.cfs_rq:/.runnable_avg.max
      2.05 ± 20%     -70.5%       0.60 ± 35%  sched_debug.cfs_rq:/.runnable_avg.min
    239.05 ±  8%     -17.2%     197.94        sched_debug.cfs_rq:/.runnable_avg.stddev
    102746 ± 14%     -22.7%      79373 ± 22%  sched_debug.cfs_rq:/.spread0.max
     74.08 ±  2%     -20.9%      58.61 ±  2%  sched_debug.cfs_rq:/.util_avg.avg
      1.82 ± 25%     -73.7%       0.48 ± 46%  sched_debug.cfs_rq:/.util_avg.min
    123.17 ±  4%     -12.9%     107.28 ±  3%  sched_debug.cfs_rq:/.util_avg.stddev
     60901 ±  7%     +15.6%      70419 ±  6%  sched_debug.cpu.avg_idle.min
    260021 ±  5%     +37.8%     358434        sched_debug.cpu.clock.avg
    260042 ±  5%     +37.8%     358462        sched_debug.cpu.clock.max
    260000 ±  5%     +37.8%     358404        sched_debug.cpu.clock.min
     12.18 ±  2%     +36.2%      16.59 ± 10%  sched_debug.cpu.clock.stddev
    260021 ±  5%     +37.8%     358434        sched_debug.cpu.clock_task.avg
    260042 ±  5%     +37.8%     358462        sched_debug.cpu.clock_task.max
    260000 ±  5%     +37.8%     358404        sched_debug.cpu.clock_task.min
     12.18 ±  2%     +36.2%      16.59 ± 10%  sched_debug.cpu.clock_task.stddev
     10341 ±  3%     +24.0%      12822        sched_debug.cpu.curr->pid.max
      1421 ±  5%     +17.8%       1673 ±  2%  sched_debug.cpu.curr->pid.stddev
      0.00           +11.2%       0.00 ±  4%  sched_debug.cpu.next_balance.stddev
      2036 ±  5%     +26.6%       2578        sched_debug.cpu.ttwu_local.avg
      4220 ±  5%      +7.6%       4539 ±  3%  sched_debug.cpu.ttwu_local.max
      1074 ±  8%     +39.8%       1502 ±  4%  sched_debug.cpu.ttwu_local.min
    260000 ±  5%     +37.8%     358404        sched_debug.cpu_clk
    259499 ±  5%     +37.9%     357901        sched_debug.ktime
    260390 ±  5%     +37.8%     358806        sched_debug.sched_clk
 1.659e+09           -27.6%  1.201e+09        perf-stat.i.branch-instructions
  23511802 ±  2%     -24.7%   17704718        perf-stat.i.branch-misses
  16325833 ±  2%     -29.2%   11553674        perf-stat.i.cache-misses
  51488691 ±  2%     -28.8%   36674264        perf-stat.i.cache-references
    134382           -29.1%      95334        perf-stat.i.context-switches
      1.14 ±  2%      -6.6%       1.06        perf-stat.i.cpi
 9.011e+09           -31.8%  6.145e+09        perf-stat.i.cpu-cycles
      1591           -37.6%     993.54        perf-stat.i.cpu-migrations
    597.52            -6.5%     558.71        perf-stat.i.cycles-between-cache-misses
   2117105 ±  2%     -29.2%    1499831        perf-stat.i.dTLB-load-misses
 1.925e+09           -27.5%  1.396e+09        perf-stat.i.dTLB-loads
     93028 ±  7%     -28.7%      66336 ±  2%  perf-stat.i.dTLB-store-misses
 8.944e+08           -26.9%  6.541e+08        perf-stat.i.dTLB-stores
     15.06 ±  2%      -1.3       13.73        perf-stat.i.iTLB-load-miss-rate%
   1042616           -30.9%     720885        perf-stat.i.iTLB-load-misses
   5925503           -23.2%    4551782        perf-stat.i.iTLB-loads
 8.199e+09           -27.7%  5.929e+09        perf-stat.i.instructions
     10027 ±  3%      -8.7%       9159 ±  3%  perf-stat.i.instructions-per-iTLB-miss
      0.91            +6.4%       0.96        perf-stat.i.ipc
      0.13           -31.8%       0.09        perf-stat.i.metric.GHz
      0.12          +709.6%       0.96        perf-stat.i.metric.K/sec
     63.08           -27.4%      45.79        perf-stat.i.metric.M/sec
      2820            -3.9%       2710        perf-stat.i.minor-faults
   5163419           -29.7%    3630179        perf-stat.i.node-load-misses
    845228 ±  3%     -29.9%     592653 ±  2%  perf-stat.i.node-loads
   1288470           -30.3%     897482        perf-stat.i.node-store-misses
    125883           -28.0%      90575        perf-stat.i.node-stores
      2820            -3.9%       2710        perf-stat.i.page-faults
      1.42 ±  2%      +0.1        1.47        perf-stat.overall.branch-miss-rate%
      1.10            -5.7%       1.04        perf-stat.overall.cpi
     14.96            -1.3       13.68        perf-stat.overall.iTLB-load-miss-rate%
      7864            +4.6%       8224        perf-stat.overall.instructions-per-iTLB-miss
      0.91            +6.0%       0.96        perf-stat.overall.ipc
 1.655e+09           -27.5%    1.2e+09        perf-stat.ps.branch-instructions
  23464114 ±  2%     -24.6%   17681251        perf-stat.ps.branch-misses
  16290823 ±  2%     -29.2%   11536638        perf-stat.ps.cache-misses
  51379893 ±  2%     -28.7%   36622024        perf-stat.ps.cache-references
    134092           -29.0%      95192        perf-stat.ps.context-switches
 8.992e+09           -31.8%  6.136e+09        perf-stat.ps.cpu-cycles
      1587           -37.5%     992.51        perf-stat.ps.cpu-migrations
   2112603 ±  2%     -29.1%    1497800        perf-stat.ps.dTLB-load-misses
 1.921e+09           -27.4%  1.394e+09        perf-stat.ps.dTLB-loads
     92837 ±  7%     -28.6%      66254 ±  2%  perf-stat.ps.dTLB-store-misses
 8.925e+08           -26.8%  6.532e+08        perf-stat.ps.dTLB-stores
   1040393           -30.8%     719911        perf-stat.ps.iTLB-load-misses
   5912777           -23.1%    4544925        perf-stat.ps.iTLB-loads
 8.181e+09           -27.6%  5.921e+09        perf-stat.ps.instructions
      2816            -3.8%       2708        perf-stat.ps.minor-faults
   5152279           -29.6%    3624732        perf-stat.ps.node-load-misses
    843418 ±  3%     -29.8%     591785 ±  2%  perf-stat.ps.node-loads
   1285691           -30.3%     896142        perf-stat.ps.node-store-misses
    125624           -28.0%      90468        perf-stat.ps.node-stores
      2816            -3.8%       2708        perf-stat.ps.page-faults
 3.934e+12            +3.5%  4.072e+12        perf-stat.total.instructions
    148225 ±  3%     +34.9%     199978 ±  2%  softirqs.CPU0.RCU
     68852           +36.5%      94003        softirqs.CPU0.SCHED
    161692 ±  5%     +56.1%     252411 ±  3%  softirqs.CPU0.TIMER
    149090 ±  3%     +32.7%     197803 ±  3%  softirqs.CPU1.RCU
     64130           +38.9%      89072 ±  2%  softirqs.CPU1.SCHED
    156371 ±  6%     +59.5%     249452 ±  3%  softirqs.CPU1.TIMER
    149696 ±  3%     +35.0%     202059 ±  2%  softirqs.CPU10.RCU
     62512 ±  2%     +44.0%      89989        softirqs.CPU10.SCHED
    156527 ±  6%     +60.0%     250425 ±  3%  softirqs.CPU10.TIMER
    147497 ±  2%     +35.1%     199264        softirqs.CPU11.RCU
     62553           +41.7%      88638 ±  2%  softirqs.CPU11.SCHED
    155703 ±  4%     +60.2%     249398 ±  4%  softirqs.CPU11.TIMER
    148757 ±  3%     +35.2%     201173 ±  2%  softirqs.CPU12.RCU
     63210           +42.0%      89782        softirqs.CPU12.SCHED
    156322 ±  6%     +59.8%     249797 ±  4%  softirqs.CPU12.TIMER
    149867 ±  3%     +31.6%     197237 ±  5%  softirqs.CPU13.RCU
     63165           +44.3%      91168 ±  2%  softirqs.CPU13.SCHED
    157012 ±  5%     +77.0%     277943 ± 13%  softirqs.CPU13.TIMER
    145801 ±  3%     +36.7%     199320        softirqs.CPU14.RCU
     62885           +42.0%      89294        softirqs.CPU14.SCHED
    154607 ±  6%     +61.1%     249128 ±  4%  softirqs.CPU14.TIMER
    125830           +47.3%     185328        softirqs.CPU15.RCU
     63213           +39.1%      87898 ±  2%  softirqs.CPU15.SCHED
    155314 ±  5%     +60.2%     248821 ±  3%  softirqs.CPU15.TIMER
    127243           +47.1%     187237        softirqs.CPU16.RCU
     62817 ±  2%     +42.8%      89726        softirqs.CPU16.SCHED
    155933 ±  5%     +60.1%     249636 ±  3%  softirqs.CPU16.TIMER
    128980 ±  2%     +45.0%     187015        softirqs.CPU17.RCU
     63146           +38.4%      87373 ±  2%  softirqs.CPU17.SCHED
    159461 ±  5%     +56.9%     250262 ±  3%  softirqs.CPU17.TIMER
    149393           +35.6%     202597        softirqs.CPU18.RCU
     66228 ±  2%     +36.9%      90683        softirqs.CPU18.SCHED
    159695           +57.9%     252201        softirqs.CPU18.TIMER
    145542           +38.5%     201516        softirqs.CPU19.RCU
     64394 ±  2%     +39.9%      90093        softirqs.CPU19.SCHED
    148693 ±  5%     +64.3%     244278        softirqs.CPU19.TIMER
    146496 ±  2%     +36.2%     199533        softirqs.CPU2.RCU
     62601           +42.5%      89193 ±  2%  softirqs.CPU2.SCHED
    156672 ±  4%     +60.6%     251583 ±  3%  softirqs.CPU2.TIMER
    145548 ±  7%     +41.3%     205694        softirqs.CPU20.RCU
     64297 ±  2%     +38.9%      89319        softirqs.CPU20.SCHED
    160604 ±  8%     +54.4%     248021        softirqs.CPU20.TIMER
    150370           +36.5%     205196        softirqs.CPU21.RCU
     64605           +37.7%      88956 ±  2%  softirqs.CPU21.SCHED
    154841 ±  2%     +59.3%     246625 ±  2%  softirqs.CPU21.TIMER
    149245           +36.9%     204303        softirqs.CPU22.RCU
     63598           +39.5%      88735 ±  2%  softirqs.CPU22.SCHED
    152785 ±  2%     +60.4%     245140        softirqs.CPU22.TIMER
    145943           +37.6%     200890        softirqs.CPU23.RCU
     63605 ±  2%     +41.2%      89835        softirqs.CPU23.SCHED
    147754 ±  3%     +64.9%     243701        softirqs.CPU23.TIMER
    148007           +36.6%     202142        softirqs.CPU24.RCU
     64937 ±  2%     +38.3%      89833        softirqs.CPU24.SCHED
    152782 ±  3%     +59.2%     243256        softirqs.CPU24.TIMER
    149238           +34.4%     200565 ±  2%  softirqs.CPU25.RCU
     64300 ±  2%     +42.3%      91524 ±  3%  softirqs.CPU25.SCHED
    153715 ±  2%     +77.9%     273383 ± 17%  softirqs.CPU25.TIMER
    149265           +36.5%     203791        softirqs.CPU26.RCU
     64902 ±  2%     +39.6%      90608        softirqs.CPU26.SCHED
    155441           +57.7%     245113        softirqs.CPU26.TIMER
    146233           +37.8%     201483        softirqs.CPU27.RCU
     63266 ±  2%     +39.5%      88228 ±  3%  softirqs.CPU27.SCHED
    147013 ±  4%     +65.5%     243357        softirqs.CPU27.TIMER
    145540 ±  3%     +38.8%     201950        softirqs.CPU28.RCU
     65407 ±  3%     +36.7%      89434 ±  3%  softirqs.CPU28.SCHED
    148271           +36.3%     202125        softirqs.CPU29.RCU
     64378           +38.8%      89361        softirqs.CPU29.SCHED
    149114 ±  4%     +62.7%     242571        softirqs.CPU29.TIMER
    149246 ±  3%     +34.5%     200795        softirqs.CPU3.RCU
     63878           +37.7%      87943 ±  3%  softirqs.CPU3.SCHED
    157953 ±  6%     +58.6%     250442 ±  3%  softirqs.CPU3.TIMER
    138500           +35.4%     187554 ±  5%  softirqs.CPU30.RCU
     63410 ±  5%     +42.1%      90114 ±  2%  softirqs.CPU30.SCHED
    153064 ±  3%     +61.1%     246521 ±  3%  softirqs.CPU30.TIMER
    138816           +39.5%     193704 ±  2%  softirqs.CPU31.RCU
     64501 ±  2%     +40.2%      90406 ±  4%  softirqs.CPU31.SCHED
    152639 ±  4%     +78.3%     272192 ± 16%  softirqs.CPU31.TIMER
    136214           +42.4%     193926        softirqs.CPU32.RCU
     65755 ±  4%     +37.3%      90313        softirqs.CPU32.SCHED
    136873           +42.2%     194572        softirqs.CPU33.RCU
     64588 ±  2%     +37.1%      88570 ±  2%  softirqs.CPU33.SCHED
    149425 ±  3%     +63.1%     243776        softirqs.CPU33.TIMER
    137813           +41.7%     195263        softirqs.CPU34.RCU
     63090 ±  2%     +43.5%      90558        softirqs.CPU34.SCHED
    150682 ±  3%     +62.5%     244916        softirqs.CPU34.TIMER
    138930           +40.8%     195547        softirqs.CPU35.RCU
     64733 ±  2%     +32.7%      85915 ±  6%  softirqs.CPU35.SCHED
    154054 ±  2%     +58.8%     244669        softirqs.CPU35.TIMER
    146677 ±  2%     +38.8%     203648        softirqs.CPU36.RCU
     61997           +42.5%      88335        softirqs.CPU36.SCHED
    151515 ±  4%     +63.8%     248136 ±  3%  softirqs.CPU36.TIMER
    148944 ±  3%     +35.6%     201924 ±  2%  softirqs.CPU37.RCU
     62089           +40.3%      87128 ±  3%  softirqs.CPU37.SCHED
    152938 ±  5%     +62.0%     247793 ±  3%  softirqs.CPU37.TIMER
    147059           +39.2%     204753        softirqs.CPU38.RCU
     62171           +42.7%      88691        softirqs.CPU38.SCHED
    152184 ±  5%     +62.7%     247603 ±  3%  softirqs.CPU38.TIMER
    149805 ±  4%     +37.0%     205264        softirqs.CPU39.RCU
     61107 ±  2%     +45.3%      88786        softirqs.CPU39.SCHED
    152465 ±  4%     +62.1%     247221 ±  3%  softirqs.CPU39.TIMER
    150072 ±  3%     +34.4%     201733        softirqs.CPU4.RCU
     63819           +40.5%      89697        softirqs.CPU4.SCHED
    158029 ±  6%     +58.6%     250631 ±  3%  softirqs.CPU4.TIMER
    152095 ±  3%     +36.8%     208069        softirqs.CPU40.RCU
     62807           +41.3%      88778        softirqs.CPU40.SCHED
    152878 ±  5%     +62.5%     248464 ±  3%  softirqs.CPU40.TIMER
    147032 ±  2%     +39.3%     204813        softirqs.CPU41.RCU
     60510 ±  5%     +47.6%      89284        softirqs.CPU41.SCHED
    152687 ±  3%     +62.1%     247555 ±  3%  softirqs.CPU41.TIMER
    147261 ±  2%     +38.9%     204553        softirqs.CPU42.RCU
     62877           +40.8%      88551        softirqs.CPU42.SCHED
    153002 ±  4%     +62.1%     248053 ±  3%  softirqs.CPU42.TIMER
    149469 ±  2%     +37.7%     205807        softirqs.CPU43.RCU
     61857 ±  2%     +43.1%      88502        softirqs.CPU43.SCHED
    152893 ±  4%     +62.0%     247754 ±  3%  softirqs.CPU43.TIMER
    144650 ±  9%     +42.0%     205431        softirqs.CPU44.RCU
     63153           +36.4%      86145 ±  5%  softirqs.CPU44.SCHED
    152723 ±  5%     +62.2%     247666 ±  3%  softirqs.CPU44.TIMER
    142302 ±  2%     +42.7%     203007        softirqs.CPU45.RCU
     61870           +42.5%      88138        softirqs.CPU45.SCHED
    151680 ±  4%     +62.5%     246506 ±  3%  softirqs.CPU45.TIMER
    150475 ±  2%     +37.1%     206324        softirqs.CPU46.RCU
     61258 ±  2%     +45.8%      89321        softirqs.CPU46.SCHED
    152918 ±  5%     +62.0%     247671 ±  3%  softirqs.CPU46.TIMER
    149712 ±  2%     +37.7%     206114        softirqs.CPU47.RCU
     61526 ±  4%     +44.4%      88873        softirqs.CPU47.SCHED
    152360 ±  4%     +62.2%     247203 ±  3%  softirqs.CPU47.TIMER
    149904 ±  3%     +38.1%     206972        softirqs.CPU48.RCU
     62334           +42.1%      88572        softirqs.CPU48.SCHED
    152221 ±  4%     +61.9%     246446 ±  4%  softirqs.CPU48.TIMER
    152162 ±  2%     +32.4%     201405 ±  6%  softirqs.CPU49.RCU
     62446           +40.8%      87927 ±  2%  softirqs.CPU49.SCHED
    151903 ±  4%     +56.9%     238395 ± 10%  softirqs.CPU49.TIMER
    148700 ±  3%     +35.2%     200969        softirqs.CPU5.RCU
     63266           +40.3%      88735        softirqs.CPU5.SCHED
    155744 ±  5%     +60.9%     250589 ±  3%  softirqs.CPU5.TIMER
    144528 ±  5%     +41.8%     204869        softirqs.CPU50.RCU
     60457 ±  3%     +45.1%      87749 ±  2%  softirqs.CPU50.SCHED
    152440 ±  3%     +61.2%     245785 ±  4%  softirqs.CPU50.TIMER
    148237 ±  2%     +37.9%     204469        softirqs.CPU51.RCU
     60863 ±  4%     +44.6%      88006        softirqs.CPU51.SCHED
    152274 ±  4%     +61.9%     246595 ±  3%  softirqs.CPU51.TIMER
    149127 ±  2%     +38.4%     206376        softirqs.CPU52.RCU
     62360           +43.4%      89443        softirqs.CPU52.SCHED
    152512 ±  5%     +62.2%     247332 ±  3%  softirqs.CPU52.TIMER
    151816 ±  3%     +36.1%     206605        softirqs.CPU53.RCU
     61809 ±  4%     +44.6%      89378        softirqs.CPU53.SCHED
    153584 ±  4%     +61.4%     247836 ±  3%  softirqs.CPU53.TIMER
    138286           +41.3%     195411        softirqs.CPU54.RCU
     63203 ±  3%     +43.8%      90857        softirqs.CPU54.SCHED
    148682 ±  3%     +67.6%     249252        softirqs.CPU54.TIMER
    136334           +43.5%     195592        softirqs.CPU55.RCU
     63586 ±  2%     +40.2%      89146        softirqs.CPU55.SCHED
    145454 ±  5%     +66.1%     241627        softirqs.CPU55.TIMER
    137781 ±  2%     +42.9%     196874        softirqs.CPU56.RCU
     64602 ±  2%     +34.8%      87089 ±  4%  softirqs.CPU56.SCHED
    139229           +41.5%     197025        softirqs.CPU57.RCU
     59929 ±  8%     +49.5%      89584        softirqs.CPU57.SCHED
    145306 ±  4%     +66.2%     241553        softirqs.CPU57.TIMER
    138590           +42.8%     197852        softirqs.CPU58.RCU
     63888 ±  2%     +33.2%      85085 ±  8%  softirqs.CPU58.SCHED
    144762 ±  5%     +67.1%     241869        softirqs.CPU58.TIMER
    134272 ±  2%     +43.9%     193254        softirqs.CPU59.RCU
     62096 ±  2%     +42.7%      88626 ±  2%  softirqs.CPU59.SCHED
    142782 ±  5%     +68.7%     240865        softirqs.CPU59.TIMER
    147604 ±  3%     +35.4%     199910        softirqs.CPU6.RCU
     63325           +41.3%      89494        softirqs.CPU6.SCHED
    156352 ±  4%     +59.9%     250043 ±  3%  softirqs.CPU6.TIMER
    137781           +37.2%     189074        softirqs.CPU60.RCU
     61228 ±  6%     +46.7%      89834        softirqs.CPU60.SCHED
    147828 ±  4%     +62.9%     240826 ±  2%  softirqs.CPU60.TIMER
    139277           +32.6%     184693 ±  5%  softirqs.CPU61.RCU
     60631 ±  3%     +44.8%      87809 ±  3%  softirqs.CPU61.SCHED
    147103 ±  4%     +57.3%     231356 ±  8%  softirqs.CPU61.TIMER
    139039           +37.0%     190516        softirqs.CPU62.RCU
     63559           +41.4%      89882        softirqs.CPU62.SCHED
    145849 ±  4%     +65.1%     240854 ±  2%  softirqs.CPU62.TIMER
    134528 ±  2%     +40.6%     189101        softirqs.CPU63.RCU
     62093           +41.9%      88085 ±  2%  softirqs.CPU63.SCHED
    144435 ±  5%     +66.8%     240912 ±  2%  softirqs.CPU63.TIMER
    131970 ±  7%     +43.4%     189308        softirqs.CPU64.RCU
     61853 ±  4%     +43.5%      88780        softirqs.CPU64.SCHED
    145033 ±  5%     +66.0%     240731 ±  2%  softirqs.CPU64.TIMER
    139350           +36.7%     190526        softirqs.CPU65.RCU
     61564 ±  5%     +45.0%      89289 ±  2%  softirqs.CPU65.SCHED
    145387 ±  4%     +65.2%     240188 ±  2%  softirqs.CPU65.TIMER
    138915           +35.3%     187968 ±  2%  softirqs.CPU66.RCU
     62678 ±  2%     +43.3%      89802 ±  5%  softirqs.CPU66.SCHED
    145202 ±  5%     +86.0%     270051 ± 18%  softirqs.CPU66.TIMER
    138859 ±  2%     +33.2%     184905 ±  5%  softirqs.CPU67.RCU
     63267           +40.4%      88853        softirqs.CPU67.SCHED
    145227 ±  5%     +58.7%     230424 ±  8%  softirqs.CPU67.TIMER
    129176 ±  6%     +45.1%     187491        softirqs.CPU68.RCU
     60993 ±  3%     +46.1%      89128        softirqs.CPU68.SCHED
    144409 ±  6%     +65.7%     239313 ±  2%  softirqs.CPU68.TIMER
    135472 ±  2%     +39.2%     188515        softirqs.CPU69.RCU
     62141 ±  2%     +39.7%      86793 ±  4%  softirqs.CPU69.SCHED
    144417 ±  5%     +67.4%     241757 ±  2%  softirqs.CPU69.TIMER
    147138 ±  3%     +35.1%     198748        softirqs.CPU7.RCU
     63426           +40.9%      89340        softirqs.CPU7.SCHED
    156336 ±  5%     +60.3%     250589 ±  3%  softirqs.CPU7.TIMER
    137717           +37.8%     189723        softirqs.CPU70.RCU
     63375 ±  2%     +41.5%      89708        softirqs.CPU70.SCHED
    145921 ±  4%     +66.0%     242291        softirqs.CPU70.TIMER
    139796           +36.5%     190794        softirqs.CPU71.RCU
     62089 ±  4%     +44.3%      89621        softirqs.CPU71.SCHED
    145373 ±  4%     +66.5%     242008        softirqs.CPU71.TIMER
    145025 ±  8%     +38.2%     200408        softirqs.CPU8.RCU
     64759 ±  2%     +37.0%      88724        softirqs.CPU8.SCHED
    185013 ± 19%     +35.6%     250815 ±  3%  softirqs.CPU8.TIMER
    145962 ±  2%     +36.7%     199584        softirqs.CPU9.RCU
     62967           +41.8%      89283        softirqs.CPU9.SCHED
    153151 ±  5%     +62.8%     249403 ±  3%  softirqs.CPU9.TIMER
  10338644           +38.1%   14279978        softirqs.RCU
   4540831           +41.2%    6411461        softirqs.SCHED
  11032630           +61.3%   17798417        softirqs.TIMER
    410.75 ±  3%     +44.1%     591.75 ±  3%  interrupts.35:PCI-MSI.31981568-edge.i40e-0000:3d:00.0:misc
      1682 ±172%    -100.0%       0.75 ±173%  interrupts.87:PCI-MSI.31981620-edge.i40e-eth0-TxRx-51
    962.50           +43.1%       1377        interrupts.9:IO-APIC.9-fasteoi.acpi
    960488           +43.2%    1375718        interrupts.CPU0.LOC:Local_timer_interrupts
    962.50           +43.1%       1377        interrupts.CPU1.9:IO-APIC.9-fasteoi.acpi
    960657           +43.2%    1375739        interrupts.CPU1.LOC:Local_timer_interrupts
    581.50 ±  5%     -36.6%     368.50 ±  2%  interrupts.CPU1.NMI:Non-maskable_interrupts
    581.50 ±  5%     -36.6%     368.50 ±  2%  interrupts.CPU1.PMI:Performance_monitoring_interrupts
    960352           +43.3%    1375770        interrupts.CPU10.LOC:Local_timer_interrupts
    545.75 ± 12%     -42.8%     312.25 ±  8%  interrupts.CPU10.NMI:Non-maskable_interrupts
    545.75 ± 12%     -42.8%     312.25 ±  8%  interrupts.CPU10.PMI:Performance_monitoring_interrupts
      3029 ±  4%     +52.2%       4609 ±  4%  interrupts.CPU10.RES:Rescheduling_interrupts
    960563           +43.2%    1375749        interrupts.CPU11.LOC:Local_timer_interrupts
    580.75 ± 12%     -38.9%     355.00 ±  7%  interrupts.CPU11.NMI:Non-maskable_interrupts
    580.75 ± 12%     -38.9%     355.00 ±  7%  interrupts.CPU11.PMI:Performance_monitoring_interrupts
      3049 ±  5%     +58.8%       4841 ±  3%  interrupts.CPU11.RES:Rescheduling_interrupts
    960595           +43.2%    1375735        interrupts.CPU12.LOC:Local_timer_interrupts
    568.50 ±  7%     -33.6%     377.50 ±  2%  interrupts.CPU12.NMI:Non-maskable_interrupts
    568.50 ±  7%     -33.6%     377.50 ±  2%  interrupts.CPU12.PMI:Performance_monitoring_interrupts
      3001 ±  4%     +53.8%       4615 ±  4%  interrupts.CPU12.RES:Rescheduling_interrupts
    960551           +43.2%    1375659        interrupts.CPU13.LOC:Local_timer_interrupts
    571.50 ±  5%     -30.6%     396.50 ±  7%  interrupts.CPU13.NMI:Non-maskable_interrupts
    571.50 ±  5%     -30.6%     396.50 ±  7%  interrupts.CPU13.PMI:Performance_monitoring_interrupts
      3054 ±  3%     +53.2%       4678 ±  6%  interrupts.CPU13.RES:Rescheduling_interrupts
    960642           +43.2%    1375651        interrupts.CPU14.LOC:Local_timer_interrupts
    582.75 ±  9%     -42.6%     334.25 ±  4%  interrupts.CPU14.NMI:Non-maskable_interrupts
    582.75 ±  9%     -42.6%     334.25 ±  4%  interrupts.CPU14.PMI:Performance_monitoring_interrupts
      2990 ±  3%     +50.8%       4511 ±  8%  interrupts.CPU14.RES:Rescheduling_interrupts
    960608           +43.2%    1375557        interrupts.CPU15.LOC:Local_timer_interrupts
    560.75 ±  4%     -30.5%     389.75 ±  8%  interrupts.CPU15.NMI:Non-maskable_interrupts
    560.75 ±  4%     -30.5%     389.75 ±  8%  interrupts.CPU15.PMI:Performance_monitoring_interrupts
      3037 ±  2%     +49.8%       4551 ±  7%  interrupts.CPU15.RES:Rescheduling_interrupts
    960636           +43.2%    1375721        interrupts.CPU16.LOC:Local_timer_interrupts
    547.00 ±  8%     -29.3%     387.00 ± 13%  interrupts.CPU16.NMI:Non-maskable_interrupts
    547.00 ±  8%     -29.3%     387.00 ± 13%  interrupts.CPU16.PMI:Performance_monitoring_interrupts
      2956 ±  3%     +52.3%       4502 ±  2%  interrupts.CPU16.RES:Rescheduling_interrupts
    960558           +43.2%    1375685        interrupts.CPU17.LOC:Local_timer_interrupts
      2954 ±  6%     +47.1%       4345 ±  3%  interrupts.CPU17.RES:Rescheduling_interrupts
    960329           +43.2%    1375542        interrupts.CPU18.LOC:Local_timer_interrupts
    598.25 ± 10%     -35.2%     387.50 ±  3%  interrupts.CPU18.NMI:Non-maskable_interrupts
    598.25 ± 10%     -35.2%     387.50 ±  3%  interrupts.CPU18.PMI:Performance_monitoring_interrupts
      3027 ±  5%     +56.4%       4735 ±  2%  interrupts.CPU18.RES:Rescheduling_interrupts
    960405           +43.3%    1375801        interrupts.CPU19.LOC:Local_timer_interrupts
    533.75 ± 11%     -41.1%     314.25 ± 16%  interrupts.CPU19.NMI:Non-maskable_interrupts
    533.75 ± 11%     -41.1%     314.25 ± 16%  interrupts.CPU19.PMI:Performance_monitoring_interrupts
      2878 ±  3%     +54.6%       4449 ±  2%  interrupts.CPU19.RES:Rescheduling_interrupts
    960642           +43.2%    1375585        interrupts.CPU2.LOC:Local_timer_interrupts
    574.25 ± 17%     -35.4%     371.25 ±  6%  interrupts.CPU2.NMI:Non-maskable_interrupts
    574.25 ± 17%     -35.4%     371.25 ±  6%  interrupts.CPU2.PMI:Performance_monitoring_interrupts
      3107 ±  4%     +58.3%       4921 ± 12%  interrupts.CPU2.RES:Rescheduling_interrupts
    960247           +43.3%    1375760        interrupts.CPU20.LOC:Local_timer_interrupts
    547.50 ±  8%     -48.4%     282.25 ± 24%  interrupts.CPU20.NMI:Non-maskable_interrupts
    547.50 ±  8%     -48.4%     282.25 ± 24%  interrupts.CPU20.PMI:Performance_monitoring_interrupts
      2940 ±  6%     +53.1%       4501 ±  5%  interrupts.CPU20.RES:Rescheduling_interrupts
    960353           +43.3%    1375737        interrupts.CPU21.LOC:Local_timer_interrupts
      2926 ±  4%     +54.6%       4523        interrupts.CPU21.RES:Rescheduling_interrupts
    960365           +43.3%    1375751        interrupts.CPU22.LOC:Local_timer_interrupts
    503.50 ± 13%     -32.5%     339.75 ±  8%  interrupts.CPU22.NMI:Non-maskable_interrupts
    503.50 ± 13%     -32.5%     339.75 ±  8%  interrupts.CPU22.PMI:Performance_monitoring_interrupts
      2936 ±  6%     +53.3%       4500        interrupts.CPU22.RES:Rescheduling_interrupts
    960336           +43.3%    1375691        interrupts.CPU23.LOC:Local_timer_interrupts
    479.75 ± 12%     -23.6%     366.75 ±  6%  interrupts.CPU23.NMI:Non-maskable_interrupts
    479.75 ± 12%     -23.6%     366.75 ±  6%  interrupts.CPU23.PMI:Performance_monitoring_interrupts
      2958 ±  6%     +56.2%       4619 ±  4%  interrupts.CPU23.RES:Rescheduling_interrupts
    960345           +43.2%    1375689        interrupts.CPU24.LOC:Local_timer_interrupts
    549.00 ±  8%     -33.3%     366.00 ±  8%  interrupts.CPU24.NMI:Non-maskable_interrupts
    549.00 ±  8%     -33.3%     366.00 ±  8%  interrupts.CPU24.PMI:Performance_monitoring_interrupts
      2976 ±  4%     +59.1%       4736 ±  4%  interrupts.CPU24.RES:Rescheduling_interrupts
    960335           +43.3%    1375732        interrupts.CPU25.LOC:Local_timer_interrupts
    541.50 ± 11%     -46.2%     291.50 ± 22%  interrupts.CPU25.NMI:Non-maskable_interrupts
    541.50 ± 11%     -46.2%     291.50 ± 22%  interrupts.CPU25.PMI:Performance_monitoring_interrupts
      2986 ±  4%     +59.7%       4770        interrupts.CPU25.RES:Rescheduling_interrupts
    960059           +43.3%    1375626        interrupts.CPU26.LOC:Local_timer_interrupts
    529.00 ±  9%     -42.8%     302.50 ± 11%  interrupts.CPU26.NMI:Non-maskable_interrupts
    529.00 ±  9%     -42.8%     302.50 ± 11%  interrupts.CPU26.PMI:Performance_monitoring_interrupts
      3041           +52.3%       4631        interrupts.CPU26.RES:Rescheduling_interrupts
    960367           +43.2%    1375528        interrupts.CPU27.LOC:Local_timer_interrupts
      2905 ±  4%     +70.9%       4963 ±  6%  interrupts.CPU27.RES:Rescheduling_interrupts
    960325           +43.2%    1375585        interrupts.CPU28.LOC:Local_timer_interrupts
      3009 ± 11%     +57.6%       4742 ±  2%  interrupts.CPU28.RES:Rescheduling_interrupts
    960290           +43.3%    1375648        interrupts.CPU29.LOC:Local_timer_interrupts
      2936 ± 14%     +58.6%       4658 ±  2%  interrupts.CPU29.RES:Rescheduling_interrupts
    960600           +43.2%    1375689        interrupts.CPU3.LOC:Local_timer_interrupts
    546.25 ± 11%     -34.9%     355.50 ± 12%  interrupts.CPU3.NMI:Non-maskable_interrupts
    546.25 ± 11%     -34.9%     355.50 ± 12%  interrupts.CPU3.PMI:Performance_monitoring_interrupts
    960286           +43.3%    1375748        interrupts.CPU30.LOC:Local_timer_interrupts
      2853 ±  9%     +61.4%       4604 ±  2%  interrupts.CPU30.RES:Rescheduling_interrupts
    960310           +43.3%    1375744        interrupts.CPU31.LOC:Local_timer_interrupts
      2919 ±  6%     +51.1%       4410 ±  7%  interrupts.CPU31.RES:Rescheduling_interrupts
    960330           +43.2%    1375667        interrupts.CPU32.LOC:Local_timer_interrupts
      2996 ±  2%     +46.1%       4375 ± 12%  interrupts.CPU32.RES:Rescheduling_interrupts
    960234           +43.2%    1375505        interrupts.CPU33.LOC:Local_timer_interrupts
    547.50 ± 13%     -30.2%     382.25 ±  6%  interrupts.CPU33.NMI:Non-maskable_interrupts
    547.50 ± 13%     -30.2%     382.25 ±  6%  interrupts.CPU33.PMI:Performance_monitoring_interrupts
      3075 ±  6%     +45.8%       4482 ± 10%  interrupts.CPU33.RES:Rescheduling_interrupts
    960291           +43.3%    1375718        interrupts.CPU34.LOC:Local_timer_interrupts
      2883 ±  6%     +56.4%       4511 ±  8%  interrupts.CPU34.RES:Rescheduling_interrupts
    960236           +43.3%    1375694        interrupts.CPU35.LOC:Local_timer_interrupts
      2759 ±  6%     +71.9%       4745 ±  5%  interrupts.CPU35.RES:Rescheduling_interrupts
    960636           +43.2%    1375756        interrupts.CPU36.LOC:Local_timer_interrupts
      3057 ±  7%     +46.1%       4466 ±  6%  interrupts.CPU36.RES:Rescheduling_interrupts
    960637           +43.2%    1375794        interrupts.CPU37.LOC:Local_timer_interrupts
    584.75 ±  6%     -39.5%     353.75 ±  4%  interrupts.CPU37.NMI:Non-maskable_interrupts
    584.75 ±  6%     -39.5%     353.75 ±  4%  interrupts.CPU37.PMI:Performance_monitoring_interrupts
      3144 ±  6%     +38.6%       4357 ± 13%  interrupts.CPU37.RES:Rescheduling_interrupts
    960594           +43.2%    1375658        interrupts.CPU38.LOC:Local_timer_interrupts
    582.25 ± 16%     -37.9%     361.50 ±  6%  interrupts.CPU38.NMI:Non-maskable_interrupts
    582.25 ± 16%     -37.9%     361.50 ±  6%  interrupts.CPU38.PMI:Performance_monitoring_interrupts
      3104 ±  2%     +40.8%       4373 ±  9%  interrupts.CPU38.RES:Rescheduling_interrupts
    960595           +43.2%    1375668        interrupts.CPU39.LOC:Local_timer_interrupts
    575.25 ± 14%     -39.5%     347.75 ± 12%  interrupts.CPU39.NMI:Non-maskable_interrupts
    575.25 ± 14%     -39.5%     347.75 ± 12%  interrupts.CPU39.PMI:Performance_monitoring_interrupts
      3109 ±  5%     +44.9%       4505 ±  5%  interrupts.CPU39.RES:Rescheduling_interrupts
    960626           +43.2%    1375725        interrupts.CPU4.LOC:Local_timer_interrupts
    578.50 ±  8%     -40.5%     344.25 ± 10%  interrupts.CPU4.NMI:Non-maskable_interrupts
    578.50 ±  8%     -40.5%     344.25 ± 10%  interrupts.CPU4.PMI:Performance_monitoring_interrupts
      3200 ±  4%     +43.1%       4579 ±  5%  interrupts.CPU4.RES:Rescheduling_interrupts
    960614           +43.2%    1375706        interrupts.CPU40.LOC:Local_timer_interrupts
    581.00 ± 14%     -40.1%     348.25 ±  9%  interrupts.CPU40.NMI:Non-maskable_interrupts
    581.00 ± 14%     -40.1%     348.25 ±  9%  interrupts.CPU40.PMI:Performance_monitoring_interrupts
      3067 ±  6%     +55.2%       4762 ±  3%  interrupts.CPU40.RES:Rescheduling_interrupts
    960561           +43.2%    1375676        interrupts.CPU41.LOC:Local_timer_interrupts
    504.50 ± 21%     -35.0%     327.75 ± 21%  interrupts.CPU41.NMI:Non-maskable_interrupts
    504.50 ± 21%     -35.0%     327.75 ± 21%  interrupts.CPU41.PMI:Performance_monitoring_interrupts
      3106 ±  4%     +46.0%       4536 ±  4%  interrupts.CPU41.RES:Rescheduling_interrupts
    960651           +43.2%    1375751        interrupts.CPU42.LOC:Local_timer_interrupts
    503.25 ± 23%     -42.7%     288.50 ± 10%  interrupts.CPU42.NMI:Non-maskable_interrupts
    503.25 ± 23%     -42.7%     288.50 ± 10%  interrupts.CPU42.PMI:Performance_monitoring_interrupts
      3104 ±  2%     +46.1%       4536 ±  3%  interrupts.CPU42.RES:Rescheduling_interrupts
    960627           +43.2%    1375681        interrupts.CPU43.LOC:Local_timer_interrupts
    552.00 ± 11%     -40.7%     327.50 ± 15%  interrupts.CPU43.NMI:Non-maskable_interrupts
    552.00 ± 11%     -40.7%     327.50 ± 15%  interrupts.CPU43.PMI:Performance_monitoring_interrupts
      3032 ±  2%     +55.4%       4711 ±  2%  interrupts.CPU43.RES:Rescheduling_interrupts
    960513           +43.2%    1375747        interrupts.CPU44.LOC:Local_timer_interrupts
    588.25 ±  7%     -45.4%     321.00 ± 11%  interrupts.CPU44.NMI:Non-maskable_interrupts
    588.25 ±  7%     -45.4%     321.00 ± 11%  interrupts.CPU44.PMI:Performance_monitoring_interrupts
      3015 ±  3%     +57.3%       4744 ±  2%  interrupts.CPU44.RES:Rescheduling_interrupts
    960612           +43.2%    1375625        interrupts.CPU45.LOC:Local_timer_interrupts
      3155 ±  7%     +49.0%       4701 ±  3%  interrupts.CPU45.RES:Rescheduling_interrupts
    960536           +43.2%    1375689        interrupts.CPU46.LOC:Local_timer_interrupts
      2994 ±  8%     +51.7%       4542        interrupts.CPU46.RES:Rescheduling_interrupts
    960600           +43.2%    1375692        interrupts.CPU47.LOC:Local_timer_interrupts
      3063 ±  8%     +53.6%       4704 ±  5%  interrupts.CPU47.RES:Rescheduling_interrupts
    960789           +43.2%    1375688        interrupts.CPU48.LOC:Local_timer_interrupts
      2935 ±  2%     +56.0%       4578 ±  5%  interrupts.CPU48.RES:Rescheduling_interrupts
    960531           +43.2%    1375777        interrupts.CPU49.LOC:Local_timer_interrupts
      3038 ±  6%     +50.8%       4581 ±  3%  interrupts.CPU49.RES:Rescheduling_interrupts
    960587           +43.2%    1375671        interrupts.CPU5.LOC:Local_timer_interrupts
      3227           +63.2%       5268 ± 27%  interrupts.CPU5.RES:Rescheduling_interrupts
    960627           +43.2%    1375680        interrupts.CPU50.LOC:Local_timer_interrupts
      3031 ±  6%     +56.4%       4742 ±  6%  interrupts.CPU50.RES:Rescheduling_interrupts
      1681 ±172%    -100.0%       0.50 ±173%  interrupts.CPU51.87:PCI-MSI.31981620-edge.i40e-eth0-TxRx-51
    960555           +43.2%    1375716        interrupts.CPU51.LOC:Local_timer_interrupts
      3062 ±  7%     +50.7%       4616 ±  6%  interrupts.CPU51.RES:Rescheduling_interrupts
    960450           +43.2%    1375720        interrupts.CPU52.LOC:Local_timer_interrupts
    551.25 ±  8%     -30.5%     383.00 ± 13%  interrupts.CPU52.NMI:Non-maskable_interrupts
    551.25 ±  8%     -30.5%     383.00 ± 13%  interrupts.CPU52.PMI:Performance_monitoring_interrupts
      3074 ±  5%     +51.0%       4641 ±  2%  interrupts.CPU52.RES:Rescheduling_interrupts
    960557           +43.2%    1375674        interrupts.CPU53.LOC:Local_timer_interrupts
    546.25 ±  8%     -32.3%     370.00 ± 29%  interrupts.CPU53.NMI:Non-maskable_interrupts
    546.25 ±  8%     -32.3%     370.00 ± 29%  interrupts.CPU53.PMI:Performance_monitoring_interrupts
      3061           +53.4%       4694 ±  4%  interrupts.CPU53.RES:Rescheduling_interrupts
    959955           +43.3%    1375697        interrupts.CPU54.LOC:Local_timer_interrupts
    585.75 ±  6%     -37.3%     367.25 ±  6%  interrupts.CPU54.NMI:Non-maskable_interrupts
    585.75 ±  6%     -37.3%     367.25 ±  6%  interrupts.CPU54.PMI:Performance_monitoring_interrupts
      2918 ±  4%     +61.9%       4726 ±  2%  interrupts.CPU54.RES:Rescheduling_interrupts
    960295           +43.3%    1375697        interrupts.CPU55.LOC:Local_timer_interrupts
    535.50 ± 18%     -38.7%     328.25 ± 15%  interrupts.CPU55.NMI:Non-maskable_interrupts
    535.50 ± 18%     -38.7%     328.25 ± 15%  interrupts.CPU55.PMI:Performance_monitoring_interrupts
      2970 ±  3%     +61.2%       4788 ±  3%  interrupts.CPU55.RES:Rescheduling_interrupts
    960252           +43.3%    1375697        interrupts.CPU56.LOC:Local_timer_interrupts
    538.75 ±  7%     -44.9%     296.75 ± 18%  interrupts.CPU56.NMI:Non-maskable_interrupts
    538.75 ±  7%     -44.9%     296.75 ± 18%  interrupts.CPU56.PMI:Performance_monitoring_interrupts
      3066 ±  6%     +54.6%       4741 ±  2%  interrupts.CPU56.RES:Rescheduling_interrupts
    960316           +43.3%    1375727        interrupts.CPU57.LOC:Local_timer_interrupts
    573.00 ± 15%     -43.8%     322.00 ± 19%  interrupts.CPU57.NMI:Non-maskable_interrupts
    573.00 ± 15%     -43.8%     322.00 ± 19%  interrupts.CPU57.PMI:Performance_monitoring_interrupts
      2914 ±  4%     +57.3%       4582 ±  7%  interrupts.CPU57.RES:Rescheduling_interrupts
    960271           +43.3%    1375634        interrupts.CPU58.LOC:Local_timer_interrupts
    525.00 ± 10%     -33.6%     348.50 ±  9%  interrupts.CPU58.NMI:Non-maskable_interrupts
    525.00 ± 10%     -33.6%     348.50 ±  9%  interrupts.CPU58.PMI:Performance_monitoring_interrupts
      2919 ±  3%     +51.3%       4415 ±  6%  interrupts.CPU58.RES:Rescheduling_interrupts
    960331           +43.2%    1375652        interrupts.CPU59.LOC:Local_timer_interrupts
    488.00 ± 13%     -26.1%     360.50 ±  3%  interrupts.CPU59.NMI:Non-maskable_interrupts
    488.00 ± 13%     -26.1%     360.50 ±  3%  interrupts.CPU59.PMI:Performance_monitoring_interrupts
      2942 ±  5%     +56.6%       4607 ±  6%  interrupts.CPU59.RES:Rescheduling_interrupts
    960564           +43.2%    1375751        interrupts.CPU6.LOC:Local_timer_interrupts
    490.50 ± 21%     -38.6%     301.00 ±  5%  interrupts.CPU6.NMI:Non-maskable_interrupts
    490.50 ± 21%     -38.6%     301.00 ±  5%  interrupts.CPU6.PMI:Performance_monitoring_interrupts
      3214 ±  3%     +44.9%       4658 ±  3%  interrupts.CPU6.RES:Rescheduling_interrupts
    960338           +43.2%    1375563        interrupts.CPU60.LOC:Local_timer_interrupts
    550.50 ± 10%     -33.3%     367.25 ± 11%  interrupts.CPU60.NMI:Non-maskable_interrupts
    550.50 ± 10%     -33.3%     367.25 ± 11%  interrupts.CPU60.PMI:Performance_monitoring_interrupts
      2956 ±  4%     +55.1%       4584 ±  6%  interrupts.CPU60.RES:Rescheduling_interrupts
    960364           +43.2%    1375687        interrupts.CPU61.LOC:Local_timer_interrupts
    523.75 ± 14%     -46.9%     278.00 ± 26%  interrupts.CPU61.NMI:Non-maskable_interrupts
    523.75 ± 14%     -46.9%     278.00 ± 26%  interrupts.CPU61.PMI:Performance_monitoring_interrupts
      3118 ±  4%     +44.4%       4502 ±  5%  interrupts.CPU61.RES:Rescheduling_interrupts
    960292           +43.3%    1375635        interrupts.CPU62.LOC:Local_timer_interrupts
      3097 ±  4%     +42.9%       4425 ±  4%  interrupts.CPU62.RES:Rescheduling_interrupts
    960341           +43.2%    1375680        interrupts.CPU63.LOC:Local_timer_interrupts
    510.50 ± 14%     -35.1%     331.25 ±  2%  interrupts.CPU63.NMI:Non-maskable_interrupts
    510.50 ± 14%     -35.1%     331.25 ±  2%  interrupts.CPU63.PMI:Performance_monitoring_interrupts
      3174 ±  3%     +42.0%       4508 ±  9%  interrupts.CPU63.RES:Rescheduling_interrupts
    960310           +43.3%    1375721        interrupts.CPU64.LOC:Local_timer_interrupts
    529.50 ± 14%     -32.3%     358.50 ±  8%  interrupts.CPU64.NMI:Non-maskable_interrupts
    529.50 ± 14%     -32.3%     358.50 ±  8%  interrupts.CPU64.PMI:Performance_monitoring_interrupts
      3028 ±  7%     +45.7%       4410 ±  3%  interrupts.CPU64.RES:Rescheduling_interrupts
    960268           +43.3%    1375675        interrupts.CPU65.LOC:Local_timer_interrupts
    534.00 ± 12%     -30.1%     373.25 ±  7%  interrupts.CPU65.NMI:Non-maskable_interrupts
    534.00 ± 12%     -30.1%     373.25 ±  7%  interrupts.CPU65.PMI:Performance_monitoring_interrupts
      3059 ±  6%     +49.7%       4578 ±  5%  interrupts.CPU65.RES:Rescheduling_interrupts
    960252           +43.3%    1375680        interrupts.CPU66.LOC:Local_timer_interrupts
    547.25 ±  9%     -33.9%     362.00 ±  8%  interrupts.CPU66.NMI:Non-maskable_interrupts
    547.25 ±  9%     -33.9%     362.00 ±  8%  interrupts.CPU66.PMI:Performance_monitoring_interrupts
      3050 ±  6%     +50.5%       4589 ±  5%  interrupts.CPU66.RES:Rescheduling_interrupts
    960281           +43.3%    1375628        interrupts.CPU67.LOC:Local_timer_interrupts
    491.00 ±  6%     -21.9%     383.50 ±  7%  interrupts.CPU67.NMI:Non-maskable_interrupts
    491.00 ±  6%     -21.9%     383.50 ±  7%  interrupts.CPU67.PMI:Performance_monitoring_interrupts
      3090 ±  4%     +43.6%       4439        interrupts.CPU67.RES:Rescheduling_interrupts
    960327           +43.2%    1375585        interrupts.CPU68.LOC:Local_timer_interrupts
    556.75 ± 13%     -30.0%     390.00 ±  6%  interrupts.CPU68.NMI:Non-maskable_interrupts
    556.75 ± 13%     -30.0%     390.00 ±  6%  interrupts.CPU68.PMI:Performance_monitoring_interrupts
      3148           +43.8%       4526        interrupts.CPU68.RES:Rescheduling_interrupts
    960260           +43.3%    1375666        interrupts.CPU69.LOC:Local_timer_interrupts
    550.00 ± 12%     -31.4%     377.25 ±  7%  interrupts.CPU69.NMI:Non-maskable_interrupts
    550.00 ± 12%     -31.4%     377.25 ±  7%  interrupts.CPU69.PMI:Performance_monitoring_interrupts
      3114 ±  2%     +46.6%       4565 ±  2%  interrupts.CPU69.RES:Rescheduling_interrupts
    410.75 ±  3%     +44.1%     591.75 ±  3%  interrupts.CPU7.35:PCI-MSI.31981568-edge.i40e-0000:3d:00.0:misc
    960569           +43.2%    1375605        interrupts.CPU7.LOC:Local_timer_interrupts
    546.75 ±  9%     -43.7%     307.75 ± 14%  interrupts.CPU7.NMI:Non-maskable_interrupts
    546.75 ±  9%     -43.7%     307.75 ± 14%  interrupts.CPU7.PMI:Performance_monitoring_interrupts
      2889 ±  4%     +53.5%       4435 ±  2%  interrupts.CPU7.RES:Rescheduling_interrupts
    960484           +43.2%    1375854        interrupts.CPU70.LOC:Local_timer_interrupts
      3239 ±  5%     +42.2%       4605        interrupts.CPU70.RES:Rescheduling_interrupts
    960766           +43.3%    1376330        interrupts.CPU71.LOC:Local_timer_interrupts
    568.25 ±  8%     -32.4%     384.00 ±  2%  interrupts.CPU71.NMI:Non-maskable_interrupts
    568.25 ±  8%     -32.4%     384.00 ±  2%  interrupts.CPU71.PMI:Performance_monitoring_interrupts
      3017 ±  6%     +56.4%       4719        interrupts.CPU71.RES:Rescheduling_interrupts
    960486           +43.2%    1375677        interrupts.CPU8.LOC:Local_timer_interrupts
    578.25 ±  8%     -44.5%     320.75 ± 17%  interrupts.CPU8.NMI:Non-maskable_interrupts
    578.25 ±  8%     -44.5%     320.75 ± 17%  interrupts.CPU8.PMI:Performance_monitoring_interrupts
      3050 ±  7%     +56.8%       4783 ± 11%  interrupts.CPU8.RES:Rescheduling_interrupts
    960636           +43.2%    1375675        interrupts.CPU9.LOC:Local_timer_interrupts
    561.75 ±  7%     -41.3%     329.75 ± 14%  interrupts.CPU9.NMI:Non-maskable_interrupts
    561.75 ±  7%     -41.3%     329.75 ± 14%  interrupts.CPU9.PMI:Performance_monitoring_interrupts
      3299 ± 19%     +40.4%       4631 ±  5%  interrupts.CPU9.RES:Rescheduling_interrupts
  69152219           +43.2%   99050063        interrupts.LOC:Local_timer_interrupts
     72.00          +100.0%     144.00        interrupts.MCP:Machine_check_polls
     37793 ±  4%     -33.4%      25156        interrupts.NMI:Non-maskable_interrupts
     37793 ±  4%     -33.4%      25156        interrupts.PMI:Performance_monitoring_interrupts
    222056           +50.1%     333203        interrupts.RES:Rescheduling_interrupts
     20.17            -1.6       18.57        perf-profile.calltrace.cycles-pp.unlink
     19.91            -1.6       18.34        perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink
     19.91            -1.6       18.34        perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.unlink
     19.65            -1.5       18.13        perf-profile.calltrace.cycles-pp.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink
     12.92            -1.1       11.87        perf-profile.calltrace.cycles-pp.xfs_create.xfs_generic_create.path_openat.do_filp_open.do_sys_openat2
     13.06            -1.0       12.02        perf-profile.calltrace.cycles-pp.xfs_generic_create.path_openat.do_filp_open.do_sys_openat2.do_sys_open
     17.17 ±  2%      -1.0       16.18        perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.creat
     17.18 ±  2%      -1.0       16.18        perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.creat
     17.38 ±  2%      -1.0       16.39        perf-profile.calltrace.cycles-pp.creat
     17.03 ±  2%      -1.0       16.05        perf-profile.calltrace.cycles-pp.do_sys_open.do_syscall_64.entry_SYSCALL_64_after_hwframe.creat
     17.02 ±  2%      -1.0       16.05        perf-profile.calltrace.cycles-pp.do_sys_openat2.do_sys_open.do_syscall_64.entry_SYSCALL_64_after_hwframe.creat
     16.78 ±  2%      -0.9       15.85        perf-profile.calltrace.cycles-pp.do_filp_open.do_sys_openat2.do_sys_open.do_syscall_64.entry_SYSCALL_64_after_hwframe
     16.76 ±  2%      -0.9       15.84        perf-profile.calltrace.cycles-pp.path_openat.do_filp_open.do_sys_openat2.do_sys_open.do_syscall_64
      7.43 ±  3%      -0.9        6.57        perf-profile.calltrace.cycles-pp.destroy_inode.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink
      7.22 ±  3%      -0.8        6.38        perf-profile.calltrace.cycles-pp.xfs_fs_destroy_inode.destroy_inode.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe
      7.18 ±  3%      -0.8        6.34        perf-profile.calltrace.cycles-pp.xfs_inactive.xfs_fs_destroy_inode.destroy_inode.do_unlinkat.do_syscall_64
      7.16 ±  3%      -0.8        6.31        perf-profile.calltrace.cycles-pp.xfs_inactive_ifree.xfs_inactive.xfs_fs_destroy_inode.destroy_inode.do_unlinkat
      9.69            -0.6        9.12        perf-profile.calltrace.cycles-pp.xfs_remove.xfs_vn_unlink.vfs_unlink.do_unlinkat.do_syscall_64
      9.71            -0.6        9.15        perf-profile.calltrace.cycles-pp.xfs_vn_unlink.vfs_unlink.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe
      9.84            -0.5        9.29        perf-profile.calltrace.cycles-pp.vfs_unlink.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink
      4.00            -0.5        3.46 ±  4%  perf-profile.calltrace.cycles-pp.__xfs_trans_commit.xfs_create.xfs_generic_create.path_openat.do_filp_open
      3.93            -0.5        3.41 ±  4%  perf-profile.calltrace.cycles-pp.xfs_log_commit_cil.__xfs_trans_commit.xfs_create.xfs_generic_create.path_openat
      2.57 ±  3%      -0.4        2.13 ±  3%  perf-profile.calltrace.cycles-pp.__xfs_trans_commit.xfs_inactive_ifree.xfs_inactive.xfs_fs_destroy_inode.destroy_inode
      2.51 ±  3%      -0.4        2.08 ±  3%  perf-profile.calltrace.cycles-pp.xfs_log_commit_cil.__xfs_trans_commit.xfs_inactive_ifree.xfs_inactive.xfs_fs_destroy_inode
      4.33 ±  3%      -0.4        3.97        perf-profile.calltrace.cycles-pp.xfs_ifree.xfs_inactive_ifree.xfs_inactive.xfs_fs_destroy_inode.destroy_inode
      2.52 ±  2%      -0.3        2.19 ±  4%  perf-profile.calltrace.cycles-pp.xfs_log_commit_cil.__xfs_trans_commit.xfs_remove.xfs_vn_unlink.vfs_unlink
      2.60 ±  2%      -0.3        2.27 ±  4%  perf-profile.calltrace.cycles-pp.__xfs_trans_commit.xfs_remove.xfs_vn_unlink.vfs_unlink.do_unlinkat
      1.55            -0.3        1.24 ±  9%  perf-profile.calltrace.cycles-pp.xlog_cil_insert_items.xfs_log_commit_cil.__xfs_trans_commit.xfs_create.xfs_generic_create
      5.00 ±  2%      -0.3        4.72        perf-profile.calltrace.cycles-pp.xfs_ialloc.xfs_dir_ialloc.xfs_create.xfs_generic_create.path_openat
      5.00 ±  2%      -0.3        4.73        perf-profile.calltrace.cycles-pp.xfs_dir_ialloc.xfs_create.xfs_generic_create.path_openat.do_filp_open
      3.09 ±  4%      -0.2        2.89 ±  2%  perf-profile.calltrace.cycles-pp.xfs_difree.xfs_ifree.xfs_inactive_ifree.xfs_inactive.xfs_fs_destroy_inode
      2.31            -0.2        2.10 ±  5%  perf-profile.calltrace.cycles-pp.up.xfs_buf_unlock.xfs_buf_item_release.xfs_log_commit_cil.__xfs_trans_commit
      4.41 ±  2%      -0.2        4.22        perf-profile.calltrace.cycles-pp.xfs_dialloc.xfs_ialloc.xfs_dir_ialloc.xfs_create.xfs_generic_create
      0.84 ±  5%      -0.2        0.68 ±  8%  perf-profile.calltrace.cycles-pp.ktime_get.clockevents_program_event.hrtimer_interrupt.smp_apic_timer_interrupt.__irqentry_text_start
      0.94 ±  2%      -0.1        0.79 ±  6%  perf-profile.calltrace.cycles-pp.xlog_cil_insert_items.xfs_log_commit_cil.__xfs_trans_commit.xfs_remove.xfs_vn_unlink
      0.84 ±  2%      -0.1        0.70 ±  7%  perf-profile.calltrace.cycles-pp.xfs_buf_item_format.xlog_cil_insert_items.xfs_log_commit_cil.__xfs_trans_commit.xfs_create
      1.86 ±  3%      -0.1        1.73 ±  2%  perf-profile.calltrace.cycles-pp.xfs_check_agi_freecount.xfs_difree_inobt.xfs_difree.xfs_ifree.xfs_inactive_ifree
      0.89 ±  4%      -0.1        0.76 ±  9%  perf-profile.calltrace.cycles-pp.xfs_buf_item_release.xfs_log_commit_cil.__xfs_trans_commit.xfs_inactive_ifree.xfs_inactive
      0.84 ±  4%      -0.1        0.71 ±  7%  perf-profile.calltrace.cycles-pp.xfs_buf_unlock.xfs_buf_item_release.xfs_log_commit_cil.__xfs_trans_commit.xfs_inactive_ifree
      1.16 ±  4%      -0.1        1.04 ±  3%  perf-profile.calltrace.cycles-pp.xfs_iunlink_remove.xfs_ifree.xfs_inactive_ifree.xfs_inactive.xfs_fs_destroy_inode
      0.87 ±  4%      -0.1        0.75 ±  8%  perf-profile.calltrace.cycles-pp.xfs_iunlink.xfs_remove.xfs_vn_unlink.vfs_unlink.do_unlinkat
      1.89 ±  2%      -0.1        1.77 ±  2%  perf-profile.calltrace.cycles-pp.sched_ttwu_pending.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64
      0.70 ±  4%      -0.1        0.59 ±  7%  perf-profile.calltrace.cycles-pp.xfs_trans_read_buf_map.xfs_read_agi.xfs_iunlink.xfs_remove.xfs_vn_unlink
      0.73 ±  4%      -0.1        0.63 ±  6%  perf-profile.calltrace.cycles-pp.xfs_read_agi.xfs_iunlink.xfs_remove.xfs_vn_unlink.vfs_unlink
      0.67 ±  8%      -0.1        0.57 ±  5%  perf-profile.calltrace.cycles-pp.xfs_btree_lookup_get_block.xfs_btree_lookup.xfs_check_agi_freecount.xfs_dialloc_ag.xfs_dialloc
      0.88 ±  6%      -0.1        0.79 ±  6%  perf-profile.calltrace.cycles-pp.xfs_btree_lookup.xfs_check_agi_freecount.xfs_dialloc_ag.xfs_dialloc.xfs_ialloc
      1.02 ±  4%      -0.1        0.94 ±  5%  perf-profile.calltrace.cycles-pp.xfs_dir2_node_removename.xfs_dir_removename.xfs_remove.xfs_vn_unlink.vfs_unlink
      0.77 ±  3%      -0.1        0.69 ±  5%  perf-profile.calltrace.cycles-pp.xfs_buf_unlock.xfs_buf_item_release.xfs_log_commit_cil.__xfs_trans_commit.xfs_remove
      1.16 ±  6%      +0.2        1.37 ±  5%  perf-profile.calltrace.cycles-pp.__softirqentry_text_start.irq_exit.smp_apic_timer_interrupt.__irqentry_text_start.cpuidle_enter_state
      1.66 ±  7%      +0.3        1.99 ±  3%  perf-profile.calltrace.cycles-pp.irq_exit.smp_apic_timer_interrupt.__irqentry_text_start.cpuidle_enter_state.cpuidle_enter
      1.74 ±  4%      +0.3        2.08 ±  3%  perf-profile.calltrace.cycles-pp.__hrtimer_run_queues.hrtimer_interrupt.smp_apic_timer_interrupt.__irqentry_text_start.cpuidle_enter_state
      3.27 ±  2%      +0.5        3.80 ±  4%  perf-profile.calltrace.cycles-pp.hrtimer_interrupt.smp_apic_timer_interrupt.__irqentry_text_start.cpuidle_enter_state.cpuidle_enter
      0.00            +0.6        0.61 ±  5%  perf-profile.calltrace.cycles-pp.tick_nohz_next_event.tick_nohz_get_sleep_length.menu_select.do_idle.cpu_startup_entry
      0.13 ±173%      +0.6        0.74 ±  4%  perf-profile.calltrace.cycles-pp.tick_nohz_get_sleep_length.menu_select.do_idle.cpu_startup_entry.start_secondary
      1.41 ±  2%      +0.6        2.05 ±  2%  perf-profile.calltrace.cycles-pp.menu_select.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64
      5.38 ±  2%      +1.1        6.43 ±  3%  perf-profile.calltrace.cycles-pp.smp_apic_timer_interrupt.__irqentry_text_start.cpuidle_enter_state.cpuidle_enter.do_idle
     53.08            +1.3       54.35        perf-profile.calltrace.cycles-pp.cpuidle_enter_state.cpuidle_enter.do_idle.cpu_startup_entry.start_secondary
     53.58            +1.5       55.05        perf-profile.calltrace.cycles-pp.cpuidle_enter.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64
      5.86            +1.9        7.78 ±  3%  perf-profile.calltrace.cycles-pp.__irqentry_text_start.cpuidle_enter_state.cpuidle_enter.do_idle.cpu_startup_entry
     58.56            +2.1       60.70        perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64
     58.58            +2.2       60.73        perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary.secondary_startup_64
     58.58            +2.2       60.73        perf-profile.calltrace.cycles-pp.start_secondary.secondary_startup_64
     59.33            +2.2       61.52        perf-profile.calltrace.cycles-pp.secondary_startup_64
     38.81            -2.4       36.36        perf-profile.children.cycles-pp.do_syscall_64
     38.83            -2.4       36.39        perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe
     20.21            -1.6       18.61        perf-profile.children.cycles-pp.unlink
     19.65            -1.5       18.14        perf-profile.children.cycles-pp.do_unlinkat
      9.19            -1.3        7.89 ±  2%  perf-profile.children.cycles-pp.__xfs_trans_commit
      8.99            -1.3        7.70 ±  2%  perf-profile.children.cycles-pp.xfs_log_commit_cil
     12.92            -1.1       11.87        perf-profile.children.cycles-pp.xfs_create
     13.06            -1.0       12.02        perf-profile.children.cycles-pp.xfs_generic_create
     17.40 ±  2%      -1.0       16.41        perf-profile.children.cycles-pp.creat
     17.07 ±  2%      -1.0       16.09        perf-profile.children.cycles-pp.do_sys_openat2
     17.08 ±  2%      -1.0       16.11        perf-profile.children.cycles-pp.do_sys_open
     16.82 ±  2%      -0.9       15.89        perf-profile.children.cycles-pp.do_filp_open
     16.81 ±  2%      -0.9       15.88        perf-profile.children.cycles-pp.path_openat
      7.43 ±  3%      -0.9        6.57        perf-profile.children.cycles-pp.destroy_inode
      7.22 ±  3%      -0.8        6.38        perf-profile.children.cycles-pp.xfs_fs_destroy_inode
      7.16 ±  3%      -0.8        6.31        perf-profile.children.cycles-pp.xfs_inactive_ifree
      7.18 ±  3%      -0.8        6.34        perf-profile.children.cycles-pp.xfs_inactive
      9.70            -0.6        9.13        perf-profile.children.cycles-pp.xfs_remove
      3.01            -0.6        2.45 ±  5%  perf-profile.children.cycles-pp.xlog_cil_insert_items
      9.71            -0.6        9.15        perf-profile.children.cycles-pp.xfs_vn_unlink
      9.84            -0.5        9.29        perf-profile.children.cycles-pp.vfs_unlink
      4.00            -0.5        3.50        perf-profile.children.cycles-pp.xfs_trans_read_buf_map
      4.33 ±  3%      -0.4        3.97        perf-profile.children.cycles-pp.xfs_ifree
      2.92 ±  2%      -0.3        2.58 ±  3%  perf-profile.children.cycles-pp.xfs_buf_read_map
      2.76 ±  2%      -0.3        2.44 ±  3%  perf-profile.children.cycles-pp.xfs_buf_get_map
      5.00 ±  2%      -0.3        4.72        perf-profile.children.cycles-pp.xfs_ialloc
      5.00 ±  2%      -0.3        4.73        perf-profile.children.cycles-pp.xfs_dir_ialloc
      2.90            -0.2        2.65 ±  3%  perf-profile.children.cycles-pp.try_to_wake_up
      2.48 ±  3%      -0.2        2.23 ±  3%  perf-profile.children.cycles-pp.xfs_buf_find
      2.59            -0.2        2.37 ±  6%  perf-profile.children.cycles-pp.xfs_buf_item_release
      2.44            -0.2        2.22 ±  5%  perf-profile.children.cycles-pp.xfs_buf_unlock
      3.10 ±  4%      -0.2        2.89 ±  2%  perf-profile.children.cycles-pp.xfs_difree
      1.16 ±  4%      -0.2        0.95 ±  4%  perf-profile.children.cycles-pp.xfs_trans_unreserve_and_mod_sb
      2.32            -0.2        2.12 ±  5%  perf-profile.children.cycles-pp.up
      2.15 ±  2%      -0.2        1.95 ±  4%  perf-profile.children.cycles-pp.xfs_read_agi
      1.28 ±  3%      -0.2        1.09 ±  3%  perf-profile.children.cycles-pp.xfs_btree_lookup_get_block
      1.52 ±  3%      -0.2        1.32 ±  9%  perf-profile.children.cycles-pp.xfs_buf_item_format_segment
      1.58 ±  3%      -0.2        1.39 ±  8%  perf-profile.children.cycles-pp.xfs_buf_item_format
      4.41 ±  2%      -0.2        4.22        perf-profile.children.cycles-pp.xfs_dialloc
      1.04 ±  5%      -0.2        0.85 ±  5%  perf-profile.children.cycles-pp.__percpu_counter_compare
      1.02 ±  5%      -0.2        0.83 ±  6%  perf-profile.children.cycles-pp.__percpu_counter_sum
      0.58 ±  4%      -0.2        0.40 ± 11%  perf-profile.children.cycles-pp.xfs_inode_item_format
      1.06 ±  6%      -0.2        0.88 ±  5%  perf-profile.children.cycles-pp.xfs_mod_ifree
      1.92 ±  2%      -0.2        1.75        perf-profile.children.cycles-pp.xfs_btree_lookup
      0.99 ±  3%      -0.2        0.84 ±  6%  perf-profile.children.cycles-pp.xfs_btree_read_buf_block
      0.92 ±  6%      -0.1        0.77 ±  3%  perf-profile.children.cycles-pp.rwsem_wake
      1.02 ±  5%      -0.1        0.88 ±  5%  perf-profile.children.cycles-pp.xfs_da_read_buf
      1.17 ±  4%      -0.1        1.04 ±  3%  perf-profile.children.cycles-pp.xfs_iunlink_remove
      0.87 ±  4%      -0.1        0.75 ±  8%  perf-profile.children.cycles-pp.xfs_iunlink
      0.85 ±  2%      -0.1        0.73 ±  6%  perf-profile.children.cycles-pp._xfs_trans_bjoin
      0.25 ± 13%      -0.1        0.14 ± 18%  perf-profile.children.cycles-pp.xfs_inode_item_format_data_fork
      0.79 ±  6%      -0.1        0.69 ±  2%  perf-profile.children.cycles-pp.wake_up_q
      2.30            -0.1        2.20        perf-profile.children.cycles-pp.xfs_inobt_get_rec
      0.22 ± 14%      -0.1        0.12 ± 16%  perf-profile.children.cycles-pp.xfs_iextents_copy
      1.93 ±  2%      -0.1        1.83 ±  2%  perf-profile.children.cycles-pp.sched_ttwu_pending
      0.56 ±  4%      -0.1        0.47 ±  9%  perf-profile.children.cycles-pp.xfs_verify_agino
      0.30 ±  7%      -0.1        0.21 ±  5%  perf-profile.children.cycles-pp.xfs_inobt_btrec_to_irec
      0.58 ±  4%      -0.1        0.50 ±  5%  perf-profile.children.cycles-pp.xfs_dir3_block_read
      1.02 ±  4%      -0.1        0.94 ±  5%  perf-profile.children.cycles-pp.xfs_dir2_node_removename
      0.21 ±  9%      -0.1        0.14 ± 19%  perf-profile.children.cycles-pp.calc_global_load_tick
      0.47 ±  7%      -0.1        0.40 ±  4%  perf-profile.children.cycles-pp.select_task_rq_fair
      0.34 ±  5%      -0.1        0.27 ±  2%  perf-profile.children.cycles-pp.__list_del_entry_valid
      0.40 ±  2%      -0.1        0.34 ± 11%  perf-profile.children.cycles-pp.xfs_iget
      0.42 ±  3%      -0.1        0.36 ±  9%  perf-profile.children.cycles-pp.xfs_iunlink_update_inode
      0.48 ±  3%      -0.1        0.42 ±  9%  perf-profile.children.cycles-pp.xfs_trans_reserve
      0.25 ±  5%      -0.1        0.19 ± 12%  perf-profile.children.cycles-pp._xfs_buf_obj_cmp
      0.27 ± 12%      -0.1        0.21 ±  6%  perf-profile.children.cycles-pp.update_cfs_rq_h_load
      0.14 ± 15%      -0.1        0.08 ±  8%  perf-profile.children.cycles-pp.xfs_bmap_validate_extent
      0.23 ± 11%      -0.0        0.18 ±  6%  perf-profile.children.cycles-pp.down_write
      0.13 ± 16%      -0.0        0.08 ± 19%  perf-profile.children.cycles-pp.complete_walk
      0.07 ±  5%      -0.0        0.03 ±100%  perf-profile.children.cycles-pp.xfs_droplink
      0.16 ± 10%      -0.0        0.11 ± 14%  perf-profile.children.cycles-pp.nr_iowait_cpu
      0.25 ±  7%      -0.0        0.21 ±  7%  perf-profile.children.cycles-pp.xfs_log_ticket_ungrant
      0.16 ± 12%      -0.0        0.12 ±  6%  perf-profile.children.cycles-pp.tick_nohz_idle_exit
      0.08 ±  8%      -0.0        0.05 ± 58%  perf-profile.children.cycles-pp.xlog_cil_push_work
      0.19 ±  2%      -0.0        0.17 ±  6%  perf-profile.children.cycles-pp.inode_permission
      0.12 ±  7%      -0.0        0.10 ±  5%  perf-profile.children.cycles-pp.percpu_counter_add_batch
      0.12 ±  4%      -0.0        0.10 ± 10%  perf-profile.children.cycles-pp.__list_add_valid
      0.06 ±  7%      +0.0        0.08 ±  6%  perf-profile.children.cycles-pp.tick_nohz_idle_enter
      0.07 ± 15%      +0.0        0.10 ±  8%  perf-profile.children.cycles-pp.__might_sleep
      0.04 ± 58%      +0.0        0.07 ± 12%  perf-profile.children.cycles-pp.xfs_btree_delrec
      0.07 ± 20%      +0.0        0.10 ± 15%  perf-profile.children.cycles-pp.__hrtimer_next_event_base
      0.06 ± 11%      +0.0        0.09 ± 13%  perf-profile.children.cycles-pp.rcu_nmi_enter
      0.23 ±  6%      +0.0        0.26 ±  5%  perf-profile.children.cycles-pp.process_one_work
      0.08 ±  5%      +0.0        0.11 ± 18%  perf-profile.children.cycles-pp.menu_reflect
      0.08 ±  6%      +0.0        0.11 ±  4%  perf-profile.children.cycles-pp.interrupt_entry
      0.04 ± 58%      +0.0        0.07 ± 11%  perf-profile.children.cycles-pp.xfs_btree_delete
      0.05 ±  9%      +0.0        0.09 ± 14%  perf-profile.children.cycles-pp.enqueue_hrtimer
      0.24 ±  5%      +0.0        0.27 ±  3%  perf-profile.children.cycles-pp.worker_thread
      0.04 ± 57%      +0.0        0.07 ± 15%  perf-profile.children.cycles-pp.timerqueue_add
      0.05 ± 62%      +0.0        0.09 ± 14%  perf-profile.children.cycles-pp.rcu_eqs_enter
      0.21 ±  9%      +0.0        0.25 ±  5%  perf-profile.children.cycles-pp.native_sched_clock
      0.30 ±  6%      +0.0        0.34 ±  7%  perf-profile.children.cycles-pp.ret_from_fork
      0.29 ±  7%      +0.0        0.34 ±  8%  perf-profile.children.cycles-pp.kthread
      0.22 ±  6%      +0.0        0.26 ±  6%  perf-profile.children.cycles-pp.sched_clock
      0.08 ± 15%      +0.0        0.12 ± 13%  perf-profile.children.cycles-pp.vfs_read
      0.08 ± 15%      +0.0        0.13 ± 10%  perf-profile.children.cycles-pp.ksys_read
      0.10 ± 18%      +0.0        0.14 ± 12%  perf-profile.children.cycles-pp.cpuidle_governor_latency_req
      0.01 ±173%      +0.0        0.06        perf-profile.children.cycles-pp.tsc_verify_tsc_adjust
      0.06 ±  6%      +0.1        0.11 ± 23%  perf-profile.children.cycles-pp.run_timer_softirq
      0.05 ± 67%      +0.1        0.10 ± 15%  perf-profile.children.cycles-pp.timekeeping_max_deferment
      0.01 ±173%      +0.1        0.07 ±  7%  perf-profile.children.cycles-pp.new_sync_read
      0.23 ±  8%      +0.1        0.29 ±  3%  perf-profile.children.cycles-pp.sched_clock_cpu
      0.24 ± 14%      +0.1        0.29 ±  7%  perf-profile.children.cycles-pp.load_balance
      0.09 ±  8%      +0.1        0.15 ± 14%  perf-profile.children.cycles-pp.read
      0.08 ±  5%      +0.1        0.14 ± 10%  perf-profile.children.cycles-pp.__intel_pmu_enable_all
      0.01 ±173%      +0.1        0.07 ± 12%  perf-profile.children.cycles-pp.arch_cpu_idle_enter
      0.22 ± 13%      +0.1        0.27 ±  3%  perf-profile.children.cycles-pp.update_blocked_averages
      0.12 ± 21%      +0.1        0.18 ± 11%  perf-profile.children.cycles-pp.arch_scale_freq_tick
      0.07 ±  5%      +0.1        0.13 ± 11%  perf-profile.children.cycles-pp.__run_timers
      0.23 ± 16%      +0.1        0.29 ±  5%  perf-profile.children.cycles-pp.run_rebalance_domains
      0.18 ± 13%      +0.1        0.24 ±  7%  perf-profile.children.cycles-pp.ktime_get_update_offsets_now
      0.04 ± 58%      +0.1        0.11 ± 17%  perf-profile.children.cycles-pp.vfprintf
      0.00            +0.1        0.07 ± 17%  perf-profile.children.cycles-pp.fprintf
      0.01 ±173%      +0.1        0.08 ±  5%  perf-profile.children.cycles-pp.hrtimer_next_event_without
      0.05 ±  8%      +0.1        0.13 ±  3%  perf-profile.children.cycles-pp.drm_fb_helper_dirty_work
      1.04 ±  5%      +0.1        1.12 ±  3%  perf-profile.children.cycles-pp.update_process_times
      0.04 ± 58%      +0.1        0.13 ± 10%  perf-profile.children.cycles-pp.__handle_mm_fault
      1.07 ±  4%      +0.1        1.16 ±  3%  perf-profile.children.cycles-pp.tick_sched_handle
      0.57 ±  6%      +0.1        0.66 ±  4%  perf-profile.children.cycles-pp.__orc_find
      0.06 ± 13%      +0.1        0.15 ± 13%  perf-profile.children.cycles-pp.do_user_addr_fault
      0.02 ±173%      +0.1        0.11 ± 10%  perf-profile.children.cycles-pp.delay_tsc
      0.04 ± 57%      +0.1        0.14 ± 11%  perf-profile.children.cycles-pp.handle_mm_fault
      0.12 ± 14%      +0.1        0.22 ± 17%  perf-profile.children.cycles-pp.__next_timer_interrupt
      0.07 ± 16%      +0.1        0.16 ± 12%  perf-profile.children.cycles-pp.page_fault
      0.70 ±  8%      +0.1        0.80 ±  6%  perf-profile.children.cycles-pp.orc_find
      0.24 ± 13%      +0.1        0.37 ± 12%  perf-profile.children.cycles-pp.tick_irq_enter
      0.35 ±  8%      +0.1        0.48 ±  4%  perf-profile.children.cycles-pp.read_tsc
      0.29 ±  7%      +0.1        0.43 ±  9%  perf-profile.children.cycles-pp.perf_mux_hrtimer_handler
      0.17 ± 12%      +0.1        0.31 ± 15%  perf-profile.children.cycles-pp.get_next_timer_interrupt
      0.19 ± 15%      +0.1        0.33 ± 13%  perf-profile.children.cycles-pp.io_serial_in
      0.25 ±  4%      +0.2        0.41 ± 11%  perf-profile.children.cycles-pp.native_irq_return_iret
      0.28 ±  8%      +0.2        0.45 ±  6%  perf-profile.children.cycles-pp.lapic_next_deadline
      0.32 ± 11%      +0.2        0.48 ±  7%  perf-profile.children.cycles-pp.irq_enter
      0.38 ±  5%      +0.2        0.56 ±  5%  perf-profile.children.cycles-pp.native_write_msr
      0.23 ±  5%      +0.2        0.42 ±  7%  perf-profile.children.cycles-pp.serial8250_console_putchar
      0.23 ±  4%      +0.2        0.42 ±  6%  perf-profile.children.cycles-pp.uart_console_write
      0.23 ±  4%      +0.2        0.43 ±  7%  perf-profile.children.cycles-pp.wait_for_xmitr
      0.23 ±  4%      +0.2        0.44 ±  6%  perf-profile.children.cycles-pp.serial8250_console_write
      0.25 ±  4%      +0.2        0.46 ±  5%  perf-profile.children.cycles-pp.irq_work_run
      0.25 ±  4%      +0.2        0.46 ±  5%  perf-profile.children.cycles-pp.printk
      0.25 ±  4%      +0.2        0.46 ±  5%  perf-profile.children.cycles-pp.vprintk_emit
      0.25 ±  4%      +0.2        0.46 ±  5%  perf-profile.children.cycles-pp.console_unlock
      0.26 ±  3%      +0.2        0.47 ±  6%  perf-profile.children.cycles-pp.irq_work_run_list
      0.25 ±  4%      +0.2        0.46 ±  6%  perf-profile.children.cycles-pp.irq_work_interrupt
      0.25 ±  4%      +0.2        0.46 ±  6%  perf-profile.children.cycles-pp.smp_irq_work_interrupt
      1.22 ±  6%      +0.2        1.45 ±  6%  perf-profile.children.cycles-pp.__softirqentry_text_start
      0.38 ±  8%      +0.2        0.62 ±  5%  perf-profile.children.cycles-pp.tick_nohz_next_event
      0.00            +0.2        0.24 ± 14%  perf-profile.children.cycles-pp.xfs_dir2_block_lookup
      2.30 ±  2%      +0.3        2.58 ±  3%  perf-profile.children.cycles-pp.xfs_dir2_block_lookup_int
      0.47 ±  8%      +0.3        0.76 ±  4%  perf-profile.children.cycles-pp.tick_nohz_get_sleep_length
      0.00            +0.3        0.29 ±  9%  perf-profile.children.cycles-pp.xfs_dir_lookup
      0.00            +0.3        0.30 ±  9%  perf-profile.children.cycles-pp.xfs_lookup
      0.00            +0.3        0.30 ±  9%  perf-profile.children.cycles-pp.xfs_vn_lookup
      1.74 ±  7%      +0.3        2.09 ±  4%  perf-profile.children.cycles-pp.irq_exit
      1.88 ±  4%      +0.4        2.26 ±  2%  perf-profile.children.cycles-pp.__hrtimer_run_queues
      3.47            +0.6        4.08 ±  3%  perf-profile.children.cycles-pp.hrtimer_interrupt
      1.44 ±  2%      +0.7        2.10 ±  3%  perf-profile.children.cycles-pp.menu_select
      5.66            +1.2        6.83 ±  3%  perf-profile.children.cycles-pp.smp_apic_timer_interrupt
      6.18            +1.4        7.55 ±  3%  perf-profile.children.cycles-pp.__irqentry_text_start
     54.26            +1.5       55.73        perf-profile.children.cycles-pp.cpuidle_enter_state
     54.27            +1.5       55.75        perf-profile.children.cycles-pp.cpuidle_enter
     58.58            +2.2       60.73        perf-profile.children.cycles-pp.start_secondary
     59.33            +2.2       61.52        perf-profile.children.cycles-pp.secondary_startup_64
     59.33            +2.2       61.52        perf-profile.children.cycles-pp.cpu_startup_entry
     59.34            +2.2       61.55        perf-profile.children.cycles-pp.do_idle
      0.58 ±  3%      -0.1        0.45 ±  9%  perf-profile.self.cycles-pp.xfs_log_commit_cil
      0.95 ±  2%      -0.1        0.83 ±  7%  perf-profile.self.cycles-pp._raw_spin_lock
      0.63 ±  2%      -0.1        0.53 ±  3%  perf-profile.self.cycles-pp.unwind_next_frame
      1.06 ±  4%      -0.1        0.96 ±  3%  perf-profile.self.cycles-pp.memcpy_erms
      0.46 ±  3%      -0.1        0.36 ±  7%  perf-profile.self.cycles-pp.xlog_cil_insert_items
      0.58 ±  7%      -0.1        0.48 ± 10%  perf-profile.self.cycles-pp.__percpu_counter_sum
      0.96 ±  5%      -0.1        0.88 ±  7%  perf-profile.self.cycles-pp.xfs_agino_range
      0.21 ±  9%      -0.1        0.13 ± 19%  perf-profile.self.cycles-pp.calc_global_load_tick
      0.34 ±  4%      -0.1        0.27 ±  4%  perf-profile.self.cycles-pp.__list_del_entry_valid
      0.30 ±  9%      -0.1        0.23 ± 10%  perf-profile.self.cycles-pp.xfs_inode_item_format
      0.28 ±  6%      -0.1        0.21 ±  5%  perf-profile.self.cycles-pp.xfs_inobt_btrec_to_irec
      0.38 ±  6%      -0.1        0.31 ±  7%  perf-profile.self.cycles-pp.xfs_buf_item_init
      0.27 ±  9%      -0.1        0.20 ±  8%  perf-profile.self.cycles-pp.xfs_buf_get_map
      0.37 ±  2%      -0.1        0.31 ±  7%  perf-profile.self.cycles-pp._xfs_trans_bjoin
      0.27 ± 12%      -0.1        0.21 ±  6%  perf-profile.self.cycles-pp.update_cfs_rq_h_load
      0.24 ±  6%      -0.1        0.19 ± 12%  perf-profile.self.cycles-pp._xfs_buf_obj_cmp
      0.24 ±  4%      -0.0        0.20 ±  6%  perf-profile.self.cycles-pp.xfs_log_ticket_ungrant
      0.45            -0.0        0.41 ±  5%  perf-profile.self.cycles-pp.do_syscall_64
      0.15 ±  8%      -0.0        0.11 ± 14%  perf-profile.self.cycles-pp.nr_iowait_cpu
      0.12 ± 12%      -0.0        0.09 ± 13%  perf-profile.self.cycles-pp.note_gp_changes
      0.16 ±  4%      -0.0        0.12 ±  8%  perf-profile.self.cycles-pp.inode_permission
      0.11 ± 10%      -0.0        0.07 ± 26%  perf-profile.self.cycles-pp.xfs_iget
      0.14 ±  3%      -0.0        0.10 ± 18%  perf-profile.self.cycles-pp.rwsem_down_write_slowpath
      0.18 ±  8%      -0.0        0.15 ± 10%  perf-profile.self.cycles-pp.down_write
      0.17 ±  8%      -0.0        0.14 ± 10%  perf-profile.self.cycles-pp.select_task_rq_fair
      0.15 ±  6%      -0.0        0.12 ± 12%  perf-profile.self.cycles-pp.xfs_verify_agbno
      0.18 ±  6%      -0.0        0.15 ±  8%  perf-profile.self.cycles-pp.__radix_tree_lookup
      0.14 ± 15%      -0.0        0.11 ±  3%  perf-profile.self.cycles-pp.___might_sleep
      0.08 ± 15%      -0.0        0.06 ±  7%  perf-profile.self.cycles-pp.poll_idle
      0.10 ± 10%      -0.0        0.08 ± 13%  perf-profile.self.cycles-pp.xfs_create
      0.07            -0.0        0.05 ±  9%  perf-profile.self.cycles-pp.xlog_space_left
      0.23 ±  3%      +0.0        0.26 ±  6%  perf-profile.self.cycles-pp.xfs_btree_get_rec
      0.08 ±  6%      +0.0        0.11 ±  4%  perf-profile.self.cycles-pp.interrupt_entry
      0.12 ±  7%      +0.0        0.15 ± 10%  perf-profile.self.cycles-pp.ktime_get_update_offsets_now
      0.10 ± 24%      +0.0        0.13 ±  9%  perf-profile.self.cycles-pp.native_read_msr
      0.05 ± 58%      +0.0        0.09 ±  7%  perf-profile.self.cycles-pp.lapic_next_deadline
      0.11 ± 10%      +0.0        0.15 ±  7%  perf-profile.self.cycles-pp.tick_nohz_next_event
      0.32 ±  8%      +0.1        0.37 ±  8%  perf-profile.self.cycles-pp._raw_spin_unlock_irqrestore
      0.09 ± 11%      +0.1        0.14 ± 15%  perf-profile.self.cycles-pp.hrtimer_interrupt
      0.00            +0.1        0.06 ±  7%  perf-profile.self.cycles-pp.tsc_verify_tsc_adjust
      0.04 ±107%      +0.1        0.10 ± 15%  perf-profile.self.cycles-pp.timekeeping_max_deferment
      0.56 ±  6%      +0.1        0.65 ±  3%  perf-profile.self.cycles-pp.__orc_find
      0.02 ±173%      +0.1        0.11 ± 10%  perf-profile.self.cycles-pp.delay_tsc
      0.32 ± 10%      +0.1        0.45 ±  5%  perf-profile.self.cycles-pp.read_tsc
      0.19 ± 15%      +0.1        0.33 ± 13%  perf-profile.self.cycles-pp.io_serial_in
      0.25 ±  4%      +0.2        0.41 ± 11%  perf-profile.self.cycles-pp.native_irq_return_iret
      0.38 ±  5%      +0.2        0.56 ±  5%  perf-profile.self.cycles-pp.native_write_msr
      0.60 ±  2%      +0.2        0.80 ±  3%  perf-profile.self.cycles-pp.cpuidle_enter_state
      0.83 ±  4%      +0.3        1.16 ±  4%  perf-profile.self.cycles-pp.menu_select


                                                                                
                                  aim7.jobs-per-min                             
                                                                                
  45000 +-------------------------------------------------------------------+   
        |         .+.                                           .+.         |   
  40000 |.+. +.+.+   ++.+   ++.+.+.+.+ .+.+.+.+ .+.+. .++.+.+.++   +.+.++.+.|   
  35000 |-+ +           :   :         +        +     +                      |   
        |               :   :                                               |   
  30000 |-O    O O       :  :O                                              |   
  25000 |-+ OO     O OO O:O:O  O O O OO O O O OO                            |   
        |                : :                                                |   
  20000 |-+              : :                                                |   
  15000 |-+              : :                                                |   
        |                : :                                                |   
  10000 |-+               ::                                                |   
   5000 |-+               :                                                 |   
        |                 :                                                 |   
      0 +-------------------------------------------------------------------+   
                                                                                
                                                                                                                                                                
                               aim7.time.user_time                              
                                                                                
  80 +----------------------------------------------------------------------+   
     | O O OO O O O O O O OO O O O O O O OO O O                             |   
  70 |-+                                                                    |   
  60 |-+                                                                    |   
     |                                                                      |   
  50 |.+.+.++.+.+.+.+.+   ++.+.+.+.+.+.+.++.+.+.+.+.+.++.+.+.+.   .+.++.+.+.|   
     |                :   :                                    +.+          |   
  40 |-+              :   :                                                 |   
     |                 : :                                                  |   
  30 |-+               : :                                                  |   
  20 |-+               : :                                                  |   
     |                 : :                                                  |   
  10 |-+                :                                                   |   
     |                  :                                                   |   
   0 +----------------------------------------------------------------------+   
                                                                                
                                                                                                                                                                
                               aim7.time.system_time                            
                                                                                
  1800 +--------------------------------------------------------------------+   
       |                            O O O  O O O                            |   
  1600 |-O OO O O O O OO O O O OO O       O                                 |   
  1400 |-+                                                                  |   
       |                                                                    |   
  1200 |.+.++.+.                 .+.+.+.+.++.+.+.+.++.+.+.+.++.   .+.+.++.+.|   
  1000 |-+      +.+.+.++   +.+.++                              +.+          |   
       |               :   :                                                |   
   800 |-+              :  :                                                |   
   600 |-+              : :                                                 |   
       |                : :                                                 |   
   400 |-+              : :                                                 |   
   200 |-+               ::                                                 |   
       |                 :                                                  |   
     0 +--------------------------------------------------------------------+   
                                                                                
                                                                                                                                                                
                              aim7.time.elapsed_time                            
                                                                                
  700 +---------------------------------------------------------------------+   
      | O O OO O O O O OO O O                                               |   
  600 |-+                                                                   |   
      |                                                                     |   
  500 |.+.+.++.                  .+ .+.+.+.+. .++.+.+.+.+.++.+.   .+.++.+.+.|   
      | +      +.+.+.+.+  +.+.+.+  +         +                 +.+          |   
  400 |-+              :  :                                                 |   
      |                :  :                                                 |   
  300 |-+              : :                                                  |   
      |                : :                                                  |   
  200 |-+               ::                                                  |   
      |                 ::                                                  |   
  100 |-+               :                                                   |   
      |                 :                                                   |   
    0 +---------------------------------------------------------------------+   
                                                                                
                                                                                                                                                                
                            aim7.time.elapsed_time.max                          
                                                                                
  700 +---------------------------------------------------------------------+   
      | O O OO O O O O OO O O                                               |   
  600 |-+                                                                   |   
      |                                                                     |   
  500 |.+.+.++.                  .+ .+.+.+.+. .++.+.+.+.+.++.+.   .+.++.+.+.|   
      | +      +.+.+.+.+  +.+.+.+  +         +                 +.+          |   
  400 |-+              :  :                                                 |   
      |                :  :                                                 |   
  300 |-+              : :                                                  |   
      |                : :                                                  |   
  200 |-+               ::                                                  |   
      |                 ::                                                  |   
  100 |-+               :                                                   |   
      |                 :                                                   |   
    0 +---------------------------------------------------------------------+   
                                                                                
                                                                                
[*] bisect-good sample
[O] bisect-bad  sample

***************************************************************************************************
lkp-kblr-hp1: 8 threads Kaby Lake-R with 8G memory
=========================================================================================
compiler/iterations/kconfig/mode/rootfs/tbox_group/testcase:
  gcc-9/10/x86_64-rhel-7.6/freeze/debian-x86_64-20180403.cgz/lkp-kblr-hp1/suspend-stress

commit: 
  21bf3e69e5 ("cpufreq: Register governors at core_initcall")
  d83f959b5e ("cpufreq: Specify default governor on command line")

21bf3e69e51e91cd d83f959b5e7a6378a4afbff23de 
---------------- --------------------------- 
       fail:runs  %reproduction    fail:runs
           |             |             |    
           :4          100%           4:4     kmsg.cpufreq:cpufreq_online:Failed_to_initialize_policy_for_cpu:#(-#)
         %stddev     %change         %stddev
             \          |                \  
      2514 ±  2%      +7.9%       2713        suspend-stress.time.involuntary_context_switches





Disclaimer:
Results have been estimated based on internal Intel analysis and are provided
for informational purposes only. Any difference in system hardware or software
design or configuration may affect actual performance.


Thanks,
Rong Chen

[cpufreq] d83f959b5e: kmsg.cpufreq:cpufreq_online:Failed_to_initialize_policy_for_cpu:#(-#)

From: kernel test robot <hidden>
Date: 2020-06-22 00:56:23

Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: d83f959b5e7a6378a4afbff23de2a2d064d95749 ("[PATCH 2/2] cpufreq: Specify default governor on command line")
url: https://github.com/0day-ci/linux/commits/Quentin-Perret/cpufreq-Specify-the-default-governor-on-command-line/20200616-005920
base: https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git linux-next

in testcase: kernel-selftests
with following parameters:

	group: kselftests-x86
	ucode: 0xdc

test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt


on test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz with 16G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):




If you fix the issue, kindly add following tag
Reported-by: kernel test robot <redacted>



[    8.715369] intel_pstate: Intel P-state driver initializing
[    8.721146] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 0 (-61)
[    8.728900] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 1 (-61)
[    8.736615] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 2 (-61)
[    8.744400] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 3 (-61)
[    8.752222] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 4 (-61)
[    8.760010] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 5 (-61)
[    8.768077] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 6 (-61)
[    8.775891] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 7 (-61)
[    8.783861] hid: raw HID events driver (C) Jiri Kosina
[    8.789211] usbcore: registered new interface driver usbhid
[    8.794908] usbhid: USB HID core driver
[    8.798902] drop_monitor: Initializing network drop monitor service
[    8.805365] Initializing XFRM netlink socket
[    8.809817] NET: Registered protocol family 10
[    8.814586] Segment Routing with IPv6
[    8.818389] NET: Registered protocol family 17
[    8.822969] 9pnet: Installing 9P2000 support
[    8.827367] mpls_gso: MPLS GSO support
[    8.832204] microcode: sig=0x506e3, pf=0x2, revision=0xdc
[    8.837953] microcode: Microcode Update Driver: v2.2.
[    8.837955] IPI shorthand broadcast: enabled
[    8.847612] ... APIC ID:      00000000 (0)
[    8.848610] ... APIC VERSION: 01060015
[    8.848610] 0000000000000000000000000000000000000000000000000000000000000000
[    8.862620] 0000000000000000000000000000000000000000000000000000000000000000
[    8.865617] usb 1-4: new low-speed USB device number 2 using xhci_hcd
[    8.862620] 0000000000000000000000000000000000000000000000000000000000000000
[    8.870017] number of MP IRQ sources: 15.
[    8.870017] number of IO-APIC #2 registers: 120.
[    8.870018] testing the IO APIC.......................
[    8.897877] IO APIC #2......
[    8.900891] .... register #00: 02000000
[    8.904855] .......    : physical APIC id: 02
[    8.909336] .......    : Delivery Type: 0
[    8.913472] .......    : LTS          : 0
[    8.917609] .... register #01: 00770020
[    8.921571] .......     : max redirection entries: 77
[    8.926768] .......     : PRQ implemented: 0
[    8.931161] .......     : IO APIC version: 20
[    8.935641] .... register #02: 00000000
[    8.939603] .......     : arbitration: 00
[    8.943738] .... IRQ redirection table:
[    8.947702] IOAPIC 0:
[    8.950123]  pin00, disabled, edge , high, V(00), IRR(0), S(0), physical, D(00), M(0)
[    8.958130]  pin01, disabled, edge , high, V(00), IRR(0), S(0), physical, D(00), M(0)
[    8.966138]  pin02, enabled , edge , high, V(02), IRR(0), S(0), remapped, I(0001),  Z(0)
[    8.974404]  pin03, disabled, edge , high, V(00), IRR(0), S(0), physical, D(00), M(0)
[    8.982411]  pin04, disabled, edge , high, V(00), IRR(0), S(0), physical, D(00), M(0)
[    8.990419]  pin05, disabled, edge , high, V(00), IRR(0), S(0), physical, D(00), M(0)
[    8.998425]  pin06, disabled, edge , high, V(00), IRR(0), S(0), physical, D(00), M(0)
[    9.006463]  pin07, disabled, edge , high, V(00), IRR(0), S(0), physical, D(00), M(0)



To reproduce:

        git clone https://github.com/intel/lkp-tests.git
        cd lkp-tests
        bin/lkp install job.yaml  # job file is attached in this email
        bin/lkp run     job.yaml



Thanks,
Rong Chen

Re: [cpufreq] d83f959b5e: kmsg.cpufreq:cpufreq_online:Failed_to_initialize_policy_for_cpu:#(-#)

From: Quentin Perret <hidden>
Date: 2020-06-23 09:25:45

Hi,

Thanks for the report.

On Monday 22 Jun 2020 at 08:54:57 (+0800), kernel test robot wrote:
Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: d83f959b5e7a6378a4afbff23de2a2d064d95749 ("[PATCH 2/2] cpufreq: Specify default governor on command line")
url: https://github.com/0day-ci/linux/commits/Quentin-Perret/cpufreq-Specify-the-default-governor-on-command-line/20200616-005920
base: https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git linux-next

in testcase: kernel-selftests
with following parameters:

	group: kselftests-x86
	ucode: 0xdc

test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt


on test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz with 16G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):




If you fix the issue, kindly add following tag
Reported-by: kernel test robot <redacted>



[    8.715369] intel_pstate: Intel P-state driver initializing
[    8.721146] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 0 (-61)
[    8.728900] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 1 (-61)
[    8.736615] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 2 (-61)
[    8.744400] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 3 (-61)
[    8.752222] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 4 (-61)
[    8.760010] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 5 (-61)
[    8.768077] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 6 (-61)
[    8.775891] cpufreq: cpufreq_online: Failed to initialize policy for cpu: 7 (-61)
That, I think, is because of the issue I reported here:

    https://lore.kernel.org/lkml/20200615174141.GA235811@google.com/

The v2 (to be posted shortly) will address this.

Thanks,
Quentin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help