From: Mel Gorman <mgorman@suse.de>
Date: Mon, 25 Sep 2017 13:34:28 +0100
Subject: [PATCH] cpufreq, ondemand: Set default up_threshold to 30 on multi-core systems
References: bnc#464461,bnc#981838,bnc#1064414
Patch-Mainline: Never, SLE only
Set default up_threshold to 30 on multi core systems. This should avoid
effects where two CPU intensive threads are waiting on each other on
separate cores. On a single core machine these would all be processed on
one core resulting in higher utilization of the one core.
SLE12-SP2: This was observed to be particularly important for HP Proliant
platforms using pcc-cpufreq. While it is recommended that OS
Management be configured on such platforms, it may not be. Without
this change, the sampling rate hammers overall performance with 9%
of time spend calling ACPI functions even when idle. Furthermore,
workqueue activity is insanely high where many of the workers then
collide serialising on a waitqueue.
Signed-off-by: Mel Gorman <mgorman@suse.de>
---
drivers/cpufreq/cpufreq_ondemand.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
index 3937acf7e026..c705b3a7771e 100644
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@ -24,7 +24,7 @@
#define DEF_FREQUENCY_UP_THRESHOLD (80)
#define DEF_SAMPLING_DOWN_FACTOR (1)
#define MAX_SAMPLING_DOWN_FACTOR (100000)
-#define MICRO_FREQUENCY_UP_THRESHOLD (95)
+#define MICRO_FREQUENCY_UP_THRESHOLD (30)
#define MICRO_FREQUENCY_MIN_SAMPLE_RATE (10000)
#define MIN_FREQUENCY_UP_THRESHOLD (1)
#define MAX_FREQUENCY_UP_THRESHOLD (100)