Skip to content

Add interrupt-only mode to l3fwd-power

Anatoly Burakov dpdk-dev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest7 patches 2 repliesIn review
  2. v27 patches 2 repliesSuperseded
  3. v13 patches 15 repliesSuperseded

Changes in v3 from the cover letter

- Added log messages for autodetect
- Fixed wrong comment in patch 7

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7l3fwd-power: disable interrupts by defaultexamples/l3fwd-power/main.c+7 -50 replies
2/7l3fwd-power: only allow supported power library envsexamples/l3fwd-power/main.c+9 -00 replies
3/7l3fwd-power: code style and flow fixesexamples/l3fwd-power/main.c+11 -70 replies
4/7l3fwd-power: add support for requesting legacy modeexamples/l3fwd-power/main.c+23 -50 replies
5/7l3fwd-power: add interrupt-only modeexamples/l3fwd-power/main.c+185 -30 replies
6/7power: add API to probe support for a specific envlib/librte_power/Makefile lib/librte_power/guest_channel.c lib/librte_power/guest_channel.h +12 more+181 -10 replies
7/7l3fwd-power: add auto-selection of default modeexamples/l3fwd-power/main.c+40 -11 reply

Reviews trailers per patch

None of the 7 patches has a Reviewed-by or Acked-by.

PatchYinan WangHarman Kalra
1/7T-b
2/7T-b
3/7
4/7
5/7T-b
6/7
7/7T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [dpdk-dev] [PATCH v3 0/7] Add interrupt-only mode to l3fwd-power

Since 20.05, l3fwd-power has become much more stringent about whether it allows initialization without initializing the librte_power library with it. This means that while previously the app could have been used to test RX interrupts functionality even if the app itself was in a half-working state, it is now no longer possible to do so.

To address this use case, we're adding an interrupt-only mode that does not rely on librte_power or telemetry. This enables using l3fwd-power in environments where librte_power is not expected to work (such as inside a VM or on non-IA architectures). The RX/TX path is basically copy paste from legacy RX/TX path but with librte_power bits taken out.

There seem to be two opposing schools of thought on whether we should have more or less examples. This patchset goes in the "less" direction where we add a new mode to an existing app, rather than creating a new one like it could be argued it deserves.

v3:
- Added log messages for autodetect
- Fixed wrong comment in patch 7

v2:
- Add API to probe support for a specific power env
- Add autodetection for the default mode
- Add ability to request legacy mode specifically
- Fix some code style issues

Anatoly Burakov (7):
l3fwd-power: disable interrupts by default
l3fwd-power: only allow supported power library envs
l3fwd-power: code style and flow fixes
l3fwd-power: add support for requesting legacy mode
l3fwd-power: add interrupt-only mode
power: add API to probe support for a specific env
l3fwd-power: add auto-selection of default mode

 examples/l3fwd-power/main.c             | 292 ++++++++++++++++++++++--
 lib/librte_power/Makefile               |   1 +
 lib/librte_power/guest_channel.c        |  26 +++
 lib/librte_power/guest_channel.h        |  12 +
 lib/librte_power/meson.build            |   3 +-
 lib/librte_power/power_acpi_cpufreq.c   |   7 +
 lib/librte_power/power_acpi_cpufreq.h   |  10 +
 lib/librte_power/power_common.c         |  52 +++++
 lib/librte_power/power_common.h         |   3 +
 lib/librte_power/power_kvm_vm.c         |   5 +
 lib/librte_power/power_kvm_vm.h         |  10 +
 lib/librte_power/power_pstate_cpufreq.c |   7 +
 lib/librte_power/power_pstate_cpufreq.h |  10 +
 lib/librte_power/rte_power.c            |  17 ++
 lib/librte_power/rte_power.h            |  18 ++
 lib/librte_power/rte_power_version.map  |   1 +
 16 files changed, 454 insertions(+), 20 deletions(-)
 create mode 100644 lib/librte_power/power_common.c
Signature · 1 line
2.17.1