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)

Feifei Wang (3):
  eal: add 8 bits case for wait scheme
  eal: add power mgmt support on Arm
  examples/l3fwd-power: enable PMD power monitor on Arm

 examples/l3fwd-power/main.c        | 25 +++++++++++
 lib/eal/arm/include/rte_pause_64.h | 32 +++++++++++--
 lib/eal/arm/rte_cpuflags.c         |  5 +++
 lib/eal/arm/rte_power_intrinsics.c | 72 ++++++++++++++++++++++++++++--
 4 files changed, 127 insertions(+), 7 deletions(-)

-- 
2.25.1

Reply via email to