mbox

[v4,0/4] Enable PMD power management on Arm

Message ID 20221111102039.3567666-1-feifei.wang2@arm.com (mailing list archive)
Headers

Message

Feifei Wang Nov. 11, 2022, 10:20 a.m. UTC
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)

Feifei Wang (4):
  eal: add 8 bits case for wait scheme
  eal: add power mgmt support on Arm
  power: add power monitor support check
  examples/l3fwd-power: add power monitor wake up API

 examples/l3fwd-power/main.c        | 13 ++++++
 lib/eal/arm/include/rte_pause_64.h | 32 +++++++++++--
 lib/eal/arm/rte_cpuflags.c         |  5 +++
 lib/eal/arm/rte_power_intrinsics.c | 72 ++++++++++++++++++++++++++++--
 lib/power/rte_power_pmd_mgmt.c     | 12 +++++
 lib/power/rte_power_pmd_mgmt.h     |  1 +
 6 files changed, 128 insertions(+), 7 deletions(-)