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

Konstantin Ananyev konstantin.ananyev at huawei.com
Tue Oct 22 14:15:01 CEST 2024


> >
> >> 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"?

Works for me.
Konstantin
 

> >> 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