[PATCH v14 0/3] power: introduce PM QoS interface
lihuisong (C)
lihuisong at huawei.com
Mon Nov 4 10:13:25 CET 2024
Hi Ferruh and Thomas,
Kindly ping for merge.
在 2024/10/29 21:28, Huisong Li 写道:
> The deeper the idle state, the lower the power consumption, but the longer
> the resume time. Some service are delay sensitive and very except the low
> resume time, like interrupt packet receiving mode.
>
> And the "/sys/devices/system/cpu/cpuX/power/pm_qos_resume_latency_us" sysfs
> interface is used to set and get the resume latency limit on the cpuX for
> userspace. Please see the description in kernel document[1].
> Each cpuidle governor in Linux select which idle state to enter based on
> this CPU resume latency in their idle task.
>
> The per-CPU PM QoS API can be used to control this CPU's idle state
> selection and limit just enter the shallowest idle state to low the delay
> when wake up from idle state by setting strict resume latency (zero value).
>
> [1] https://www.kernel.org/doc/html/latest/admin-guide/abi-testing.html?highlight=pm_qos_resume_latency_us#abi-sys-devices-power-pm-qos-resume-latency-us
>
> ---
> v14:
> - use parse_uint to parse --cpu-resume-latency instead of adding a new
> parse_int()
> v13:
> - not allow negative value for --cpu-resume-latency.
> - restore to the original value as Konstantin suggested.
> v12:
> - add Acked-by Chengwen and Konstantin
> - fix overflow issue in l3fwd-power when parse command line
> - add a command parameter to set CPU resume latency
> v11:
> - operate the cpu id the lcore mapped by the new function
> power_get_lcore_mapped_cpu_id().
> v10:
> - replace LINE_MAX with a custom macro and fix two typos.
> v9:
> - move new feature description from release_24_07.rst to release_24_11.rst.
> v8:
> - update the latest code to resolve CI warning
> v7:
> - remove a dead code rte_lcore_is_enabled in patch[2/2]
> v6:
> - update release_24_07.rst based on dpdk repo to resolve CI warning.
> v5:
> - use LINE_MAX to replace BUFSIZ, and use snprintf to replace sprintf.
> v4:
> - fix some comments basd on Stephen
> - add stdint.h include
> - add Acked-by Morten Brørup <mb at smartsharesystems.com>
> v3:
> - add RTE_POWER_xxx prefix for some macro in header
> - add the check for lcore_id with rte_lcore_is_enabled
> v2:
> - use PM QoS on CPU wide to replace the one on system wide
>
>
> Huisong Li (3):
> power: introduce PM QoS API on CPU wide
> examples/l3fwd-power: fix data overflow when parse command line
> examples/l3fwd-power: add PM QoS configuration
>
> doc/guides/prog_guide/power_man.rst | 19 +++
> doc/guides/rel_notes/release_24_11.rst | 5 +
> .../sample_app_ug/l3_forward_power_man.rst | 5 +-
> examples/l3fwd-power/main.c | 96 +++++++++++---
> lib/power/meson.build | 2 +
> lib/power/rte_power_qos.c | 123 ++++++++++++++++++
> lib/power/rte_power_qos.h | 73 +++++++++++
> lib/power/version.map | 4 +
> 8 files changed, 306 insertions(+), 21 deletions(-)
> create mode 100644 lib/power/rte_power_qos.c
> create mode 100644 lib/power/rte_power_qos.h
>
More information about the dev
mailing list