[v3] power: fix number of uncore freqs

Message ID 20240722201535.12522-1-stephen@networkplumber.org (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v3] power: fix number of uncore freqs |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Functional success Functional PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-marvell-Functional success Functional Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-compile-amd64-testing pending Testing pending
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-sample-apps-testing success Testing PASS

Commit Message

Stephen Hemminger July 22, 2024, 8:15 p.m. UTC
The number of uncore frequencies was defined in three places,
and two of them were too small leading to test failures.
All places should be using RTE_MAX_UNCORE_FREQS.

Bugzilla ID: 1499
Fixes: 60b8a661a957 ("power: add Intel uncore frequency control")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---

v3 - restore one change lost in V2

 app/test/test_power_intel_uncore.c | 4 +---
 lib/power/power_intel_uncore.c     | 7 +++----
 2 files changed, 4 insertions(+), 7 deletions(-)
  

Comments

Hunt, David July 23, 2024, 11:40 a.m. UTC | #1
On 22/07/2024 21:15, Stephen Hemminger wrote:
> The number of uncore frequencies was defined in three places,
> and two of them were too small leading to test failures.
> All places should be using RTE_MAX_UNCORE_FREQS.
>
> Bugzilla ID: 1499
> Fixes: 60b8a661a957 ("power: add Intel uncore frequency control")
> Signed-off-by: Stephen Hemminger<stephen@networkplumber.org>
> ---
>
> v3 - restore one change lost in V2
>
>   app/test/test_power_intel_uncore.c | 4 +---
>   lib/power/power_intel_uncore.c     | 7 +++----
>   2 files changed, 4 insertions(+), 7 deletions(-)
>
--snip--

LGTM.

Acked-by: David Hunt <david.hunt@intel.com>
  
Thomas Monjalon July 23, 2024, 1:32 p.m. UTC | #2
23/07/2024 13:40, Hunt, David:
> On 22/07/2024 21:15, Stephen Hemminger wrote:
> > The number of uncore frequencies was defined in three places,
> > and two of them were too small leading to test failures.
> > All places should be using RTE_MAX_UNCORE_FREQS.
> >
> > Bugzilla ID: 1499
> > Fixes: 60b8a661a957 ("power: add Intel uncore frequency control")
> > Signed-off-by: Stephen Hemminger<stephen@networkplumber.org>
> 
> Acked-by: David Hunt <david.hunt@intel.com>

Applied, thanks.
  

Patch

diff --git a/app/test/test_power_intel_uncore.c b/app/test/test_power_intel_uncore.c
index 80b45ce46e..049658627d 100644
--- a/app/test/test_power_intel_uncore.c
+++ b/app/test/test_power_intel_uncore.c
@@ -17,14 +17,12 @@  test_power_intel_uncore(void)
 #include <rte_power_uncore.h>
 #include <power_common.h>
 
-#define MAX_UNCORE_FREQS 32
-
 #define VALID_PKG 0
 #define VALID_DIE 0
 #define INVALID_PKG (rte_power_uncore_get_num_pkgs() + 1)
 #define INVALID_DIE (rte_power_uncore_get_num_dies(VALID_PKG) + 1)
 #define VALID_INDEX 1
-#define INVALID_INDEX (MAX_UNCORE_FREQS + 1)
+#define INVALID_INDEX (RTE_MAX_UNCORE_FREQS + 1)
 
 static int check_power_uncore_init(void)
 {
diff --git a/lib/power/power_intel_uncore.c b/lib/power/power_intel_uncore.c
index 9c152e4ed2..4eb9c5900a 100644
--- a/lib/power/power_intel_uncore.c
+++ b/lib/power/power_intel_uncore.c
@@ -11,7 +11,6 @@ 
 #include "power_intel_uncore.h"
 #include "power_common.h"
 
-#define MAX_UNCORE_FREQS 32
 #define MAX_NUMA_DIE 8
 #define BUS_FREQ     100000
 #define FILTER_LENGTH 18
@@ -32,7 +31,7 @@ 
 struct __rte_cache_aligned uncore_power_info {
 	unsigned int die;                  /* Core die id */
 	unsigned int pkg;                  /* Package id */
-	uint32_t freqs[MAX_UNCORE_FREQS];  /* Frequency array */
+	uint32_t freqs[RTE_MAX_UNCORE_FREQS]; /* Frequency array */
 	uint32_t nb_freqs;                 /* Number of available freqs */
 	FILE *f_cur_min;                   /* FD of scaling_min */
 	FILE *f_cur_max;                   /* FD of scaling_max */
@@ -51,7 +50,7 @@  set_uncore_freq_internal(struct uncore_power_info *ui, uint32_t idx)
 	uint32_t target_uncore_freq, curr_max_freq;
 	int ret;
 
-	if (idx >= MAX_UNCORE_FREQS || idx >= ui->nb_freqs) {
+	if (idx >= RTE_MAX_UNCORE_FREQS || idx >= ui->nb_freqs) {
 		POWER_LOG(DEBUG, "Invalid uncore frequency index %u, which "
 				"should be less than %u", idx, ui->nb_freqs);
 		return -1;
@@ -221,7 +220,7 @@  power_get_available_uncore_freqs(struct uncore_power_info *ui)
 	uint32_t i, num_uncore_freqs = 0;
 
 	num_uncore_freqs = (ui->init_max_freq - ui->init_min_freq) / BUS_FREQ + 1;
-	if (num_uncore_freqs >= MAX_UNCORE_FREQS) {
+	if (num_uncore_freqs >= RTE_MAX_UNCORE_FREQS) {
 		POWER_LOG(ERR, "Too many available uncore frequencies: %d",
 				num_uncore_freqs);
 		goto out;