Hi Huisong,

On 2024/8/9 17:50, Huisong Li wrote:
> Add PM QoS configuration to declease the delay after sleep in case of
> entering deeper idle state.
> 
> Signed-off-by: Huisong Li <lihuis...@huawei.com>
> Acked-by: Morten Brørup <m...@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..9b386c3710 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 
> CPU%u.\n",

suggest on core%u and use if (ret != 0)

and how about use warning, if current system don't support it, we just give a 
warning message
but let's it continue.


> +                             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;
>  }
>  
> 

Reply via email to