[PATCH v6 0/2] Enable PMD power management on Arm

Feifei Wang feifei.wang2 at arm.com
Mon Feb 20 09:51:07 CET 2023


For Arm aarch, use WFE instructions to enable PMD power management.

Test Results:
dynamic instructions over 1sec	without wfe	with wfe	percentage
ampere-altra			6,298,483,712	9,117,624	-99.855%
thunderx2			6,990,909,373	3,247,226	-99.954%

When power efficient PMD is enabled by using WFE on Arm, if no pkts
received, the instructions that CPU executes is reduced by 99%.

V2:
1. move rte_wake_up API out of signal_exit(David Marchand, Thomas, Stephen)
2. Add test results when using wfe on ARM server

v3:
1. make code cleaner (Stephen)

v4:
1. add support check in API (Thomas)

v5:
1. delete v4 check patch and l3fwd-power change. This is due to
that WFE instructions can be applied into all lcores. 
When all cores are in 'WFE' state, kernal can run normally and
receive interrupt signal to send it to the l3fwd-power thread.
Thus core in 'WFE' state can exit from sleeping by interrupt event.

v6:
1. delete '__check_val_size' API in ARM to simplify the code (Stephen)

Feifei Wang (2):
  eal: add 8 bits case for wait scheme
  eal: add power mgmt support on Arm

 doc/guides/rel_notes/release_23_03.rst |  4 ++
 lib/eal/arm/include/rte_pause_64.h     | 32 +++++++++++++--
 lib/eal/arm/rte_cpuflags.c             |  5 +++
 lib/eal/arm/rte_power_intrinsics.c     | 55 ++++++++++++++++++++++++--
 4 files changed, 89 insertions(+), 7 deletions(-)

-- 
2.25.1



More information about the dev mailing list