[dpdk-dev] [EXT] [PATCH v2 7/7] l3fwd-power: add auto-selection of default mode

Burakov, Anatoly anatoly.burakov at intel.com
Fri Jun 19 11:56:11 CEST 2020


On 19-Jun-20 8:37 AM, Harman Kalra wrote:
> On Thu, Jun 18, 2020 at 06:18:29PM +0100, Anatoly Burakov wrote:
>> External Email
>>
>> ----------------------------------------------------------------------
>> Currently, the application does support running without the power
>> library being initialized, but it has to be specifically requested. On
>> platforms without support for frequency scaling using the power library,
>> we can just enable interrupt-only mode by default.
>>
>> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
>> Suggested-by: Jerin Jacob <jerinjacobk at gmail.com>
>> ---
> 
> Application probed the platform for frequency scaling support, since
> octeontx2 doesnt support it, interrupt-only mode got enabled by default.
> 
> Tested-by: Harman Kalra <hkalra at marvell.com>	

Perhaps there should be a log indicating which one was picked. There's a 
wrong comment in this particular patch as well, so i'll fix that while 
i'm at it :)

Thanks!

> 	
>>   examples/l3fwd-power/main.c | 16 +++++++++++++++-
>>   1 file changed, 15 insertions(+), 1 deletion(-)
>>
>> diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
>> index 51acbfd87d..a66599e734 100644
>> --- a/examples/l3fwd-power/main.c
>> +++ b/examples/l3fwd-power/main.c
>> @@ -2412,6 +2412,20 @@ launch_timer(unsigned int lcore_id)
>>   	return 0;
>>   }
>>   
>> +static int
>> +autodetect_mode(void)
>> +{
>> +	/*
>> +	 * Empty poll and telemetry modes have to be specifically requested to
>> +	 * be enabled, but we can auto-detect between legacy mode with or
>> +	 * without interrupts. Both ACPI and pstate 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;
>> +	return APP_MODE_INTERRUPT;
>> +}
>>   
>>   int
>>   main(int argc, char **argv)
>> @@ -2449,7 +2463,7 @@ main(int argc, char **argv)
>>   		rte_exit(EXIT_FAILURE, "Invalid L3FWD parameters\n");
>>   
>>   	if (app_mode == APP_MODE_DEFAULT)
>> -		app_mode = APP_MODE_LEGACY;
>> +		app_mode = autodetect_mode();
>>   
>>   	/* only legacy and empty poll mode rely on power library */
>>   	if ((app_mode == APP_MODE_LEGACY || app_mode == APP_MODE_EMPTY_POLL) &&
>> -- 
>> 2.17.1


-- 
Thanks,
Anatoly


More information about the dev mailing list