[v7,0/5] Introduce flow perf application
mbox series

Message ID 20200604133502.28491-1-wisamm@mellanox.com
Headers show
Series
  • Introduce flow perf application
Related show

Message

Wisam Jaddo June 4, 2020, 1:34 p.m. UTC
Add new application to test rte flow performance from:
- Insertion rate.
- Deletion rate.
- Memory consumption.
- PPS forward measurement.

Unchanged comments:
- Prevent actions such as Queue from adding twice:
* Current design don't support add actions twice.
* This is performace app that not should force coditions like PMD.
* If app allows adding dup actions and user added Queue the PMD should
report the error.
* No memory leak found.

---
v7:
* Move add_items/add_actions in items/actions instead of flow.
* Have array of structures with loops instead of branching.
* Add limitation part in doc.
* Align items/actions generator methods with same signature.
* Convert item/action & attrs selector to be 64bit instead of 32bit.


v6:
* Move compare vs 0 logic instead of logical not.
* Logged errors into stderr.
* Remove offload parse on queue level.
* Fix documentation and limitations.
* Added macro for rss hash value, used in port and rss action configuration.
* Remove all design global variable, only control left.
* Remove items/action defines for bit map and use rte_types instead.
* Addressing comments regard args_parse()

v5:
* Add app to 20.05 release notes.
* Addressing comments.
* Fix compilation issue for gcc >= 10.
* Fix documentation.
* Remove unneeded CFLAGS.
* Remove unused includes.
* Addressing format comments.
* Move hairpin to be option use only.
* Use RSS hash IP + TCP in ports and rss action.
* Introduce and use new macro for bit flags.

v4:
* Fix compilation error due to variable set but not used.

v3:
* Fix passing hairpin queues to hairpin rss action.

v2:
* reset cpu_time_used every port.
* generate different RSS action every flow with different RETA.
* Fix in commit log message


Wisam Jaddo (5):
  app/flow-perf: add flow performance skeleton
  app/flow-perf: add insertion rate calculation
  app/flow-perf: add deletion rate calculation
  app/flow-perf: add memory dump to app
  app/flow-perf: add packet forwarding support

 MAINTAINERS                            |    5 +
 app/Makefile                           |    1 +
 app/meson.build                        |    1 +
 app/test-flow-perf/Makefile            |   26 +
 app/test-flow-perf/actions_gen.c       |  276 ++++++
 app/test-flow-perf/actions_gen.h       |   18 +
 app/test-flow-perf/config.h            |   31 +
 app/test-flow-perf/flow_gen.c          |   61 ++
 app/test-flow-perf/flow_gen.h          |   37 +
 app/test-flow-perf/items_gen.c         |  397 +++++++++
 app/test-flow-perf/items_gen.h         |   18 +
 app/test-flow-perf/main.c              | 1109 ++++++++++++++++++++++++
 app/test-flow-perf/meson.build         |   11 +
 config/common_base                     |    5 +
 doc/guides/rel_notes/release_20_08.rst |   10 +
 doc/guides/tools/flow-perf.rst         |  248 ++++++
 doc/guides/tools/index.rst             |    1 +
 17 files changed, 2255 insertions(+)
 create mode 100644 app/test-flow-perf/Makefile
 create mode 100644 app/test-flow-perf/actions_gen.c
 create mode 100644 app/test-flow-perf/actions_gen.h
 create mode 100644 app/test-flow-perf/config.h
 create mode 100644 app/test-flow-perf/flow_gen.c
 create mode 100644 app/test-flow-perf/flow_gen.h
 create mode 100644 app/test-flow-perf/items_gen.c
 create mode 100644 app/test-flow-perf/items_gen.h
 create mode 100644 app/test-flow-perf/main.c
 create mode 100644 app/test-flow-perf/meson.build
 create mode 100644 doc/guides/tools/flow-perf.rst

Comments

Thomas Monjalon June 29, 2020, 2:15 p.m. UTC | #1
04/06/2020 15:34, Wisam Jaddo:
> Add new application to test rte flow performance from:
> - Insertion rate.
> - Deletion rate.
> - Memory consumption.
> - PPS forward measurement.
> 
> Unchanged comments:
> - Prevent actions such as Queue from adding twice:
> * Current design don't support add actions twice.
> * This is performace app that not should force coditions like PMD.
> * If app allows adding dup actions and user added Queue the PMD should
> report the error.
> * No memory leak found.
> 
> ---
> v7:
> * Move add_items/add_actions in items/actions instead of flow.
> * Have array of structures with loops instead of branching.
> * Add limitation part in doc.
> * Align items/actions generator methods with same signature.
> * Convert item/action & attrs selector to be 64bit instead of 32bit.

More than 3 weeks passed since this v7.
It looks to be good enough to be merged,
and let this new application to be improved with more features.

I fixed few minor details in maintainers, doc, etc.

Applied, thanks