[dpdk-stable] patch 'power: handle frequency increase with turbo disabled' has been queued to LTS release 17.11.10

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Dec 19 15:34:36 CET 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.10

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/21/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Luca Boccassi

---
>From a949223584bdedc520cd453a04bf4f9dbdebce42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= <mattias.ronnblom at ericsson.com>
Date: Thu, 14 Nov 2019 15:10:36 +0100
Subject: [PATCH] power: handle frequency increase with turbo disabled
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 388c4c03eca316698d2bb55435ec5c804c67c844 ]

Calling pstate's or acpi's rte_power_freq_up() when on the highest
non-turbo frequency results in an error, if turbo is enabled in the BIOS,
but disabled via the power library.
The error is in the form of a return code and a RTE_LOG() entry
on the ERR level.

According to the API documentation, the frequency is scaled up
"according to the available frequencies". In case turbo is disabled,
that frequency is not available. This patch's rte_power_freq_up()
behaviour is also consistent with how rte_power_freq_max() is
implemented (i.e. the highest non-turbo frequency is set, in case
turbo is disabled).

Fixes: 445c6528b55f ("power: common interface for guest and host")
Fixes: e6c6dc0f96c8 ("power: add p-state driver compatibility")

Signed-off-by: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
Tested-by: David Hunt <david.hunt at intel.com>
Acked-by: David Hunt <david.hunt at intel.com>
Reviewed-by: Liang Ma <liang.j.ma at intel.com>
---
 lib/librte_power/rte_power_acpi_cpufreq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_power/rte_power_acpi_cpufreq.c b/lib/librte_power/rte_power_acpi_cpufreq.c
index 3ce5a0d890..63ad029d32 100644
--- a/lib/librte_power/rte_power_acpi_cpufreq.c
+++ b/lib/librte_power/rte_power_acpi_cpufreq.c
@@ -531,7 +531,8 @@ rte_power_acpi_cpufreq_freq_up(unsigned lcore_id)
 	}
 
 	pi = &lcore_power_info[lcore_id];
-	if (pi->curr_idx == 0)
+	if (pi->curr_idx == 0 ||
+	    (pi->curr_idx == 1 && pi->turbo_available && !pi->turbo_enable))
 		return 0;
 
 	/* Frequencies in the array are from high to low. */
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-12-19 14:32:31.454659657 +0000
+++ 0129-power-handle-frequency-increase-with-turbo-disabled.patch	2019-12-19 14:32:26.333302346 +0000
@@ -1,4 +1,4 @@
-From 388c4c03eca316698d2bb55435ec5c804c67c844 Mon Sep 17 00:00:00 2001
+From a949223584bdedc520cd453a04bf4f9dbdebce42 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= <mattias.ronnblom at ericsson.com>
 Date: Thu, 14 Nov 2019 15:10:36 +0100
 Subject: [PATCH] power: handle frequency increase with turbo disabled
@@ -6,6 +6,8 @@
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
+[ upstream commit 388c4c03eca316698d2bb55435ec5c804c67c844 ]
+
 Calling pstate's or acpi's rte_power_freq_up() when on the highest
 non-turbo frequency results in an error, if turbo is enabled in the BIOS,
 but disabled via the power library.
@@ -21,36 +23,20 @@
 
 Fixes: 445c6528b55f ("power: common interface for guest and host")
 Fixes: e6c6dc0f96c8 ("power: add p-state driver compatibility")
-Cc: stable at dpdk.org
 
 Signed-off-by: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
 Tested-by: David Hunt <david.hunt at intel.com>
 Acked-by: David Hunt <david.hunt at intel.com>
 Reviewed-by: Liang Ma <liang.j.ma at intel.com>
 ---
- lib/librte_power/power_acpi_cpufreq.c   | 3 ++-
- lib/librte_power/power_pstate_cpufreq.c | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/lib/librte_power/power_acpi_cpufreq.c b/lib/librte_power/power_acpi_cpufreq.c
-index 22989244ab..f443fce69f 100644
---- a/lib/librte_power/power_acpi_cpufreq.c
-+++ b/lib/librte_power/power_acpi_cpufreq.c
-@@ -515,7 +515,8 @@ power_acpi_cpufreq_freq_up(unsigned int lcore_id)
- 	}
- 
- 	pi = &lcore_power_info[lcore_id];
--	if (pi->curr_idx == 0)
-+	if (pi->curr_idx == 0 ||
-+	    (pi->curr_idx == 1 && pi->turbo_available && !pi->turbo_enable))
- 		return 0;
- 
- 	/* Frequencies in the array are from high to low. */
-diff --git a/lib/librte_power/power_pstate_cpufreq.c b/lib/librte_power/power_pstate_cpufreq.c
-index 8f095e0ab1..2d8a9499dc 100644
---- a/lib/librte_power/power_pstate_cpufreq.c
-+++ b/lib/librte_power/power_pstate_cpufreq.c
-@@ -696,7 +696,8 @@ power_pstate_cpufreq_freq_up(unsigned int lcore_id)
+ lib/librte_power/rte_power_acpi_cpufreq.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/librte_power/rte_power_acpi_cpufreq.c b/lib/librte_power/rte_power_acpi_cpufreq.c
+index 3ce5a0d890..63ad029d32 100644
+--- a/lib/librte_power/rte_power_acpi_cpufreq.c
++++ b/lib/librte_power/rte_power_acpi_cpufreq.c
+@@ -531,7 +531,8 @@ rte_power_acpi_cpufreq_freq_up(unsigned lcore_id)
  	}
  
  	pi = &lcore_power_info[lcore_id];


More information about the stable mailing list