[PATCH] examples/l3fwd-power: support CPPC cpufreq

Jie Hai haijie1 at huawei.com
Wed Feb 22 03:13:10 CET 2023


Hi, David Hunt,

Kindly ping. Could you please take a look at this patch?

Thanks,
Jie Hai

On 2023/1/31 10:58, Jie Hai wrote:
> Currently the l3fwd-power only supports ACPI cpufreq and Pstate
> cpufreq, This patch adds CPPC cpufreq.
> 
> Signed-off-by: Jie Hai <haijie1 at huawei.com>
> ---
>   examples/l3fwd-power/main.c | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
> index fd3ade330f82..5090d5598172 100644
> --- a/examples/l3fwd-power/main.c
> +++ b/examples/l3fwd-power/main.c
> @@ -2453,9 +2453,10 @@ init_power_library(void)
>   		/* we're not supporting the VM channel mode */
>   		env = rte_power_get_env();
>   		if (env != PM_ENV_ACPI_CPUFREQ &&
> -				env != PM_ENV_PSTATE_CPUFREQ) {
> +				env != PM_ENV_PSTATE_CPUFREQ &&
> +				env != PM_ENV_CPPC_CPUFREQ) {
>   			RTE_LOG(ERR, POWER,
> -				"Only ACPI and PSTATE mode are supported\n");
> +				"Only ACPI, PSTATE and CPPC mode are supported\n");
>   			return -1;
>   		}
>   	}
> @@ -2639,12 +2640,14 @@ autodetect_mode(void)
>   	/*
>   	 * Empty poll and telemetry modes have to be specifically requested to
>   	 * be enabled, but we can auto-detect between interrupt mode with or
> -	 * without frequency scaling. Both ACPI and pstate can be used.
> +	 * without frequency scaling. Any of ACPI, pstate and CPPC can be used.
>   	 */
>   	if (rte_power_check_env_supported(PM_ENV_ACPI_CPUFREQ))
>   		return APP_MODE_LEGACY;
>   	if (rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ))
>   		return APP_MODE_LEGACY;
> +	if (rte_power_check_env_supported(PM_ENV_CPPC_CPUFREQ))
> +		return APP_MODE_LEGACY;
>   
>   	RTE_LOG(NOTICE, L3FWD_POWER, "Frequency scaling not supported, selecting interrupt-only mode\n");
>   


More information about the dev mailing list