From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id BEC3645B8E;
	Mon, 21 Oct 2024 06:11:41 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id AC173402D5;
	Mon, 21 Oct 2024 06:11:41 +0200 (CEST)
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2055.outbound.protection.outlook.com [40.107.102.55])
 by mails.dpdk.org (Postfix) with ESMTP id 22B814027C
 for <dev@dpdk.org>; Mon, 21 Oct 2024 06:11:40 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XFKzL9Bn5E1IvyjGZeVimdaX14qVe+i6vKfAsOLijpBEoobxBYs6F9qSHRrT2dgpCUbCniJVdpADFH1D/ymv5HkBjJjGK0DjzydnB8ecXhgmuuvtQs8qiGrNDyVxzbEyDPw7oHxd4ThGV7fFX3mv3x7xyIvxV/4278iosiIRDjsNDabdNUp+jp/ee3Kos6Jud1bnJUxX5KBrbO2j8WSUdigA1ILB12W8vZu/NW2O8d/I+uP9QRoUtyY5ccFQimo0a2pZJvSeRLqeAZKzBGuD2iVMfPoxVzeNt1kdEPGdqg1Jg22lOzJq2GS989zQygaB2R5DgF5NZ+mtUNdz4P9yVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A7Uf3Jw2cJ3E7iCkMoYaS7w0bT4qgeYpA3+tXTFvpgs=;
 b=u8eCCtKT1AmkI54urxPjAwvjpd3OyLyMYrFMsZiSdO5DxsAHTsJDKBsYsb1rqq57lePIAUUXfJCVAqbxq6ICPnMMyvaWj2nOgipnGUx6QRvE7uhf04kC5wgJ+Qw+ZVFNzXGCf30TYTdmBv5X1A07DJQO4Km8CsP1ALTQz3TPOcybVMzCRxHUyNA6w2ZFU26O2U++JcNXfxwGWwa2VmeMebdnY9U8gLXaidqQywhd3Yprw36D3iyzsMkc86n0BHUBBCkJqbMzd4fbMa7aThICRr1V/+LtT0vVRMGf9mgUTkFuEeyMyRPwEY7hgR1HT0v3w2gJEikiI6Ph3Ykj4O4OOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; 
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A7Uf3Jw2cJ3E7iCkMoYaS7w0bT4qgeYpA3+tXTFvpgs=;
 b=qzR+wfM/phfJsIlkZ8VGHWIEsHPDa7aAGBaSBP8jvXGvfjkhfI1yysud3DWR3fJqvOzlyZqj+xFIjbafxdbrZSJbCy2sXUANNX94syJSRSINzvzOYU6gZrDk67jJYeCaWsmCoTkV+AN63WTNyE+fVbdOcbzXQhn9zK2oCi+F/6I=
Received: from MW4PR03CA0104.namprd03.prod.outlook.com (2603:10b6:303:b7::19)
 by BL3PR12MB9051.namprd12.prod.outlook.com (2603:10b6:208:3ba::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.26; Mon, 21 Oct
 2024 04:11:36 +0000
Received: from BL02EPF00029928.namprd02.prod.outlook.com
 (2603:10b6:303:b7:cafe::4a) by MW4PR03CA0104.outlook.office365.com
 (2603:10b6:303:b7::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.26 via Frontend
 Transport; Mon, 21 Oct 2024 04:11:35 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF00029928.mail.protection.outlook.com (10.167.249.53) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8093.14 via Frontend Transport; Mon, 21 Oct 2024 04:11:35 +0000
Received: from jfw9ny3-os.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 20 Oct
 2024 23:10:43 -0500
From: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
To: <david.hunt@intel.com>, <anatoly.burakov@intel.com>, <jerinj@marvell.com>, 
 <radu.nicolau@intel.com>, <gakhil@marvell.com>,
 <cristian.dumitrescu@intel.com>, <ferruh.yigit@amd.com>,
 <konstantin.ananyev@huawei.com>, <lihuisong@huawei.com>
CC: <dev@dpdk.org>
Subject: [PATCH v7 3/5] test/power: removed function pointer validations
Date: Mon, 21 Oct 2024 04:07:21 +0000
Message-ID: <20241021040724.3325876-4-sivaprasad.tummala@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20241021040724.3325876-1-sivaprasad.tummala@amd.com>
References: <20241020092233.2906612-1-sivaprasad.tummala@amd.com>
 <20241021040724.3325876-1-sivaprasad.tummala@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00029928:EE_|BL3PR12MB9051:EE_
X-MS-Office365-Filtering-Correlation-Id: ad5f35b7-0ae2-4e0d-b096-08dcf18673dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
 ARA:13230040|82310400026|1800799024|36860700013|376014; 
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xdMcud6CH3ohxmETv8mdo7tobCZYuOXCivL4a2IZxIkvCvw8OB1yeNPbd08x?=
 =?us-ascii?Q?GlZJXnxwT48dvY3H4K3DXN+2GM5nKs6eApYMM43DXajnH70vBsdu6DyLg23q?=
 =?us-ascii?Q?3jv11LNyVXUu7l9190K+09f+05kCGOZJwg9nNrQ/GVvqvIbRy1DYrRuJy8fh?=
 =?us-ascii?Q?WQd8qBRylhLqAltaWkEh70BtmdOSDIu3CNSWdICbUZvq1zt5T/UVx6df322E?=
 =?us-ascii?Q?yMxsymGAGaOjeBVnfkNNidpbBBVnKj1gtbSufAJIXGyyto18z+VNjBOu4LyY?=
 =?us-ascii?Q?Z5seDtRI0a6O0dxDqah8O+0nbwPg+W2k1c0SmEeFiQwE26N1TaRQ4vhgnlCP?=
 =?us-ascii?Q?A8JwFMj6kLBBMd4csYcZTkdJP5LAgQvGVF6DSI4Oaxpb/Lla4EE2KbD9Tp3F?=
 =?us-ascii?Q?R84X8hIZGO2UvyZmneiypzs5UabBUcCICySoEQplGfSne98QwQP3A0sUkkcd?=
 =?us-ascii?Q?67wpLAja5Ddq+qm+qRKbP3drssZAERAuC92emuOoCg08IyAIlF7uQp0ZtOLN?=
 =?us-ascii?Q?yDhZ3kJT4RJZPmmXvNo18aos5GKud+9SYwJxiBCRaT/MjXoVFxKOtvOy6UPn?=
 =?us-ascii?Q?Qo6Co8/IVnaeNxwBQ5fgrIhgkmgsiD3m6uKP53d2jIiY+k8xok8n+vKoGXhF?=
 =?us-ascii?Q?C41DNo2E1Ps/D9er3RxLkC4FJJAA03BR/4m2p+/MfQZC02nizPQLkVKdrX6p?=
 =?us-ascii?Q?chQ+z6aAEzdCIURbWI0H2/iymz7gnn3VS+utUXn5WZ5DEl/xVRxQrA41Fld9?=
 =?us-ascii?Q?G3byXXGKb4CtIyyJkfJTdB768wDzTEyXEhUnwAhXuRMBEwKflxXaWGw+SJ0f?=
 =?us-ascii?Q?JJeYWtM+kcSVVIewe5KXzFf7hNytJp4bDRnHOPhpwaKreVu5D3PYlEFCN2Vx?=
 =?us-ascii?Q?rdGOkTMerV9SNEcmZ8hMTvyh5OQJAN3pWr3OKuHDCiEA44ZmSy4MZjRVziYg?=
 =?us-ascii?Q?+PupOXpJ+w5rM7u59ml0TiBQG1c85Pq3FN1iHgN5qRGr50aHrv6CHryy1x5B?=
 =?us-ascii?Q?uvdJcl8pxvAJsgjsN7ZkXXqb/y9eMaC2M3QjRwpXJNTf4U7WdLwzfLrEDi3J?=
 =?us-ascii?Q?wBI5bVWnRPUGHLBc+f5fPimmk2Dhi71kdf0IJ65Ml4S2vWZrglyvWyvsFm2d?=
 =?us-ascii?Q?C+mJ0oQBxXstDD2U/SQZhc9HTBFEaSE/ts2iLZrhOk6bWPLnrn+yq5p06bti?=
 =?us-ascii?Q?Ns8WTX+SYl1oJX8QmzkPM/8eVaU4DoU1HKoDKoipSymMqDJ/DSlBPb5cIc67?=
 =?us-ascii?Q?shpFg+qXDAlYGqoSMZt+H/eI0Xun27BxyB4iTwA7JC1bDYPaileuQoNDP+1K?=
 =?us-ascii?Q?tDEVvTotyuK7tQtSLE/Bj3/ZeMRH6DuySIPnDdoSKvQY9CSiPi+q3Q/zDfDv?=
 =?us-ascii?Q?/SIjF+FrLid7vINA7LAKDZ9ksdgRS5Q2B303lZM2YOfedCFavg=3D=3D?=
X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:;
 IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE;
 SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014); DIR:OUT;
 SFP:1101; 
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2024 04:11:35.0806 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ad5f35b7-0ae2-4e0d-b096-08dcf18673dd
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17];
 Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00029928.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB9051
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

After refactoring the power library, power management operations are now
consistently supported regardless of the operating environment, making
function pointer checks unnecessary and thus removed from applications.

v2:
 - removed function pointer validation in l3fwd-power app.

Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
---
 app/test/test_power.c         | 95 -----------------------------------
 app/test/test_power_cpufreq.c | 52 -------------------
 app/test/test_power_kvm_vm.c  | 36 -------------
 examples/l3fwd-power/main.c   | 12 ++---
 4 files changed, 4 insertions(+), 191 deletions(-)

diff --git a/app/test/test_power.c b/app/test/test_power.c
index 403adc22d6..5df5848c70 100644
--- a/app/test/test_power.c
+++ b/app/test/test_power.c
@@ -24,86 +24,6 @@ test_power(void)
 
 #include <rte_power.h>
 
-static int
-check_function_ptrs(void)
-{
-	enum power_management_env env = rte_power_get_env();
-
-	const bool not_null_expected = !(env == PM_ENV_NOT_SET);
-
-	const char *inject_not_string1 = not_null_expected ? " not" : "";
-	const char *inject_not_string2 = not_null_expected ? "" : " not";
-
-	if ((rte_power_freqs == NULL) == not_null_expected) {
-		printf("rte_power_freqs should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-					inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_get_freq == NULL) == not_null_expected) {
-		printf("rte_power_get_freq should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-					inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_set_freq == NULL) == not_null_expected) {
-		printf("rte_power_set_freq should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_freq_up == NULL) == not_null_expected) {
-		printf("rte_power_freq_up should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_freq_down == NULL) == not_null_expected) {
-		printf("rte_power_freq_down should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_freq_max == NULL) == not_null_expected) {
-		printf("rte_power_freq_max should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_freq_min == NULL) == not_null_expected) {
-		printf("rte_power_freq_min should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_turbo_status == NULL) == not_null_expected) {
-		printf("rte_power_turbo_status should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_freq_enable_turbo == NULL) == not_null_expected) {
-		printf("rte_power_freq_enable_turbo should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_freq_disable_turbo == NULL) == not_null_expected) {
-		printf("rte_power_freq_disable_turbo should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-	if ((rte_power_get_capabilities == NULL) == not_null_expected) {
-		printf("rte_power_get_capabilities should%s be NULL, environment has%s been "
-				"initialised\n", inject_not_string1,
-				inject_not_string2);
-		return -1;
-	}
-
-	return 0;
-}
-
 static int
 test_power(void)
 {
@@ -124,10 +44,6 @@ test_power(void)
 		return -1;
 	}
 
-	/* Verify that function pointers are NULL */
-	if (check_function_ptrs() < 0)
-		goto fail_all;
-
 	rte_power_unset_env();
 
 	/* Perform tests for valid environments.*/
@@ -154,22 +70,11 @@ test_power(void)
 			return -1;
 		}
 
-		/* Verify that function pointers are NOT NULL */
-		if (check_function_ptrs() < 0)
-			goto fail_all;
-
 		rte_power_unset_env();
 
-		/* Verify that function pointers are NULL */
-		if (check_function_ptrs() < 0)
-			goto fail_all;
-
 	}
 
 	return 0;
-fail_all:
-	rte_power_unset_env();
-	return -1;
 }
 #endif
 
diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index edbd34424e..f4522747d5 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -534,58 +534,6 @@ test_power_cpufreq(void)
 		goto fail_all;
 	}
 
-	/* verify that function pointers are not NULL */
-	if (rte_power_freqs == NULL) {
-		printf("rte_power_freqs should not be NULL, environment has not been "
-				"initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_get_freq == NULL) {
-		printf("rte_power_get_freq should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_set_freq == NULL) {
-		printf("rte_power_set_freq should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_freq_up == NULL) {
-		printf("rte_power_freq_up should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_freq_down == NULL) {
-		printf("rte_power_freq_down should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_freq_max == NULL) {
-		printf("rte_power_freq_max should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_freq_min == NULL) {
-		printf("rte_power_freq_min should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_turbo_status == NULL) {
-		printf("rte_power_turbo_status should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_freq_enable_turbo == NULL) {
-		printf("rte_power_freq_enable_turbo should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-	if (rte_power_freq_disable_turbo == NULL) {
-		printf("rte_power_freq_disable_turbo should not be NULL, environment has not "
-				"been initialised\n");
-		goto fail_all;
-	}
-
 	ret = rte_power_exit(TEST_POWER_LCORE_ID);
 	if (ret < 0) {
 		printf("Cannot exit power management for lcore %u\n",
diff --git a/app/test/test_power_kvm_vm.c b/app/test/test_power_kvm_vm.c
index 464e06002e..a7d104e973 100644
--- a/app/test/test_power_kvm_vm.c
+++ b/app/test/test_power_kvm_vm.c
@@ -47,42 +47,6 @@ test_power_kvm_vm(void)
 		return -1;
 	}
 
-	/* verify that function pointers are not NULL */
-	if (rte_power_freqs == NULL) {
-		printf("rte_power_freqs should not be NULL, environment has not been "
-				"initialised\n");
-		return -1;
-	}
-	if (rte_power_get_freq == NULL) {
-		printf("rte_power_get_freq should not be NULL, environment has not "
-				"been initialised\n");
-		return -1;
-	}
-	if (rte_power_set_freq == NULL) {
-		printf("rte_power_set_freq should not be NULL, environment has not "
-				"been initialised\n");
-		return -1;
-	}
-	if (rte_power_freq_up == NULL) {
-		printf("rte_power_freq_up should not be NULL, environment has not "
-				"been initialised\n");
-		return -1;
-	}
-	if (rte_power_freq_down == NULL) {
-		printf("rte_power_freq_down should not be NULL, environment has not "
-				"been initialised\n");
-		return -1;
-	}
-	if (rte_power_freq_max == NULL) {
-		printf("rte_power_freq_max should not be NULL, environment has not "
-				"been initialised\n");
-		return -1;
-	}
-	if (rte_power_freq_min == NULL) {
-		printf("rte_power_freq_min should not be NULL, environment has not "
-				"been initialised\n");
-		return -1;
-	}
 	/* Test initialisation of an out of bounds lcore */
 	ret = rte_power_init(TEST_POWER_VM_LCORE_OUT_OF_BOUNDS);
 	if (ret != -1) {
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 2bb6b092c3..6bd76515e6 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -440,8 +440,7 @@ power_timer_cb(__rte_unused struct rte_timer *tim,
 	 * check whether need to scale down frequency a step if it sleep a lot.
 	 */
 	if (sleep_time_ratio >= SCALING_DOWN_TIME_RATIO_THRESHOLD) {
-		if (rte_power_freq_down)
-			rte_power_freq_down(lcore_id);
+		rte_power_freq_down(lcore_id);
 	}
 	else if ( (unsigned)(stats[lcore_id].nb_rx_processed /
 		stats[lcore_id].nb_iteration_looped) < MAX_PKT_BURST) {
@@ -449,8 +448,7 @@ power_timer_cb(__rte_unused struct rte_timer *tim,
 		 * scale down a step if average packet per iteration less
 		 * than expectation.
 		 */
-		if (rte_power_freq_down)
-			rte_power_freq_down(lcore_id);
+		rte_power_freq_down(lcore_id);
 	}
 
 	/**
@@ -1344,11 +1342,9 @@ main_legacy_loop(__rte_unused void *dummy)
 			}
 
 			if (lcore_scaleup_hint == FREQ_HIGHEST) {
-				if (rte_power_freq_max)
-					rte_power_freq_max(lcore_id);
+				rte_power_freq_max(lcore_id);
 			} else if (lcore_scaleup_hint == FREQ_HIGHER) {
-				if (rte_power_freq_up)
-					rte_power_freq_up(lcore_id);
+				rte_power_freq_up(lcore_id);
 			}
 		} else {
 			/**
-- 
2.34.1