[PATCH v11 2/2] examples/l3fwd-power: add PM QoS configuration

lihuisong (C) lihuisong at huawei.com
Tue Oct 22 11:44:59 CEST 2024


在 2024/10/22 17:10, Konstantin Ananyev 写道:
>
>> Add PM QoS configuration to declease the delay after sleep in case of
>> entering deeper idle state.
> I still think it is worth to mention this behavior change somewhere in the docs.
> Probably release_notes or sample app guides.
I already added this influence to power_man.rst.
ok, I will add some comments about this into l3_forward_power_man.rst.
How about put this comments at the end of "Overview"?
>> Signed-off-by: Huisong Li <lihuisong at huawei.com>
>> Acked-by: Morten Brørup <mb at smartsharesystems.com>
>> ---
>>   examples/l3fwd-power/main.c | 24 ++++++++++++++++++++++++
>>   1 file changed, 24 insertions(+)
>>
>> diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
>> index 2bb6b092c3..b0ddb54ee2 100644
>> --- a/examples/l3fwd-power/main.c
>> +++ b/examples/l3fwd-power/main.c
>> @@ -47,6 +47,7 @@
>>   #include <rte_telemetry.h>
>>   #include <rte_power_pmd_mgmt.h>
>>   #include <rte_power_uncore.h>
>> +#include <rte_power_qos.h>
>>
>>   #include "perf_core.h"
>>   #include "main.h"
>> @@ -2260,6 +2261,22 @@ init_power_library(void)
>>   			return -1;
>>   		}
>>   	}
>> +
>> +	RTE_LCORE_FOREACH(lcore_id) {
>> +		/*
>> +		 * Set the worker lcore's to have strict latency limit to allow
>> +		 * the CPU to enter the shallowest idle state.
>> +		 */
>> +		ret = rte_power_qos_set_cpu_resume_latency(lcore_id,
>> +					RTE_POWER_QOS_STRICT_LATENCY_VALUE);
>> +		if (ret != 0) {
>> +			RTE_LOG(ERR, L3FWD_POWER,
>> +				"Failed to set strict resume latency on core%u.\n",
>> +				lcore_id);
>> +			return ret;
>> +		}
>> +	}
>> +
>>   	return ret;
>>   }
>>
>> @@ -2299,6 +2316,13 @@ deinit_power_library(void)
>>   			}
>>   		}
>>   	}
>> +
>> +	RTE_LCORE_FOREACH(lcore_id) {
>> +		/* Restore the original value in kernel. */
>> +		rte_power_qos_set_cpu_resume_latency(lcore_id,
>> +				RTE_POWER_QOS_RESUME_LATENCY_NO_CONSTRAINT);
>> +	}
>> +
>>   	return ret;
>>   }
>>
>> --
>> 2.22.0


More information about the dev mailing list