[dpdk-dev] [PATCH v3 00/11] example/l3fwd: introduce event device support

Nipun Gupta nipun.gupta at nxp.com
Mon Jan 13 13:02:30 CET 2020


Series Acked-by: Nipun Gupta <nipun.gupta at nxp.com>

> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of
> pbhagavatula at marvell.com
> Sent: Saturday, January 11, 2020 7:17 PM
> To: jerinj at marvell.com; konstantin.ananyev at intel.com
> Cc: dev at dpdk.org; Pavan Nikhilesh <pbhagavatula at marvell.com>
> Subject: [dpdk-dev] [PATCH v3 00/11] example/l3fwd: introduce event
> device support
> 
> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
> 
> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
> 
> This patchset adds support for event mode in l3fwd.
> The poll mode is still the default mode of operation.
> 
> The following new command line parameters are added:
>  --mode: Dictates the mode of operation either poll or event. If unset then
>          by default poll mode is used.
>  --eventq_sched: Dictates event synchronization mode i.e. either ordered,
> 		 atomic or parallel.
>  --event-eth-rxqs: Number of ethernet RX queues per device.
> 
> Based on event device capability the configuration is done as follows:
>     - A single event device is enabled.
>     - The number of event ports is equal to the number of worker
>       cores enabled in the core mask. Additional event ports might
>       be configured based on Rx/Tx adapter capability.
>     - The number of event queues is equal to the number of ethernet
>       ports. If Tx adapter doesn't have internal port capability then
>       an additional single link event queue is used to enqueue events
>       to Tx adapter.
>     - Each event port is linked to all existing event queues.
>     - Dedicated Rx/Tx adapters for each Ethernet port.
> 
> v3 Changes:
> ----------
> - Unify argument parsing.
> - Segregate poll mode and event mode initialization.
> - Simplify event resource creation and accesses.
> - Integrate
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> es.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D8002&data=0
> 2%7C01%7Cnipun.gupta%40nxp.com%7Cab797315191e4c4a749c08d7969cd3f
> 2%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63714347262920637
> 1&sdata=9Mp%2B8oSfYORFBTZKxPkZWnZ4RzcAHzAzsv8A0hELxa8%3D&
> amp;reserved=0 series.
> - Reduce code duplication in lpm.
> 
> v2 Changes:
> ----------
> - Shorten the structure name `s/event_rsrc/evt_rsrc` `s/l2fwd_rsrc/rsrc`.
> - Use rte_panic instead of rte_exit.
> - Rebase on top of Tx adapter change
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> es.dpdk.org%2Fpatch%2F60971&data=02%7C01%7Cnipun.gupta%40nxp
> .com%7Cab797315191e4c4a749c08d7969cd3f2%7C686ea1d3bc2b4c6fa92cd99
> c5c301635%7C0%7C0%7C637143472629206371&sdata=vGrBNBnOHkPvu
> 6AcGUH7%2BBJinNoh6TtU6ZT80hXJR8I%3D&reserved=0.
> - Add parallel mode support.
> - Fix missing eventdev args parsing.
> 
> Pavan Nikhilesh (7):
>   examples/l3fwd: add event device configuration
>   examples/l3fwd: add event eth Rx/Tx adapter setup
>   examples/l3fwd: add service core setup based on caps
>   examples/l3fwd: add event lpm main loop
>   examples/l3fwd: add event em main loop
>   examples/l3fwd: add graceful teardown for eventdevice
>   doc: update l3fwd user guide to support eventdev
> 
> Sunil Kumar Kori (4):
>   examples/l3fwd: add framework for event device
>   examples/l3fwd: split pipelines based on capability
>   examples/l3fwd: add ethdev setup based on eventdev
>   examples/l3fwd: add event port and queue setup
> 
>  doc/guides/sample_app_ug/l3_forward.rst    |  76 ++++-
>  examples/l3fwd/Makefile                    |   3 +-
>  examples/l3fwd/l3fwd.h                     |  30 ++
>  examples/l3fwd/l3fwd_em.c                  | 177 ++++++++++++
>  examples/l3fwd/l3fwd_em.h                  | 159 ++++++++---
>  examples/l3fwd/l3fwd_em_hlm.h              | 131 +++++++++
>  examples/l3fwd/l3fwd_em_sequential.h       |  26 ++
>  examples/l3fwd/l3fwd_event.c               | 263 +++++++++++++++++
>  examples/l3fwd/l3fwd_event.h               |  86 ++++++
>  examples/l3fwd/l3fwd_event_generic.c       | 302 ++++++++++++++++++++
>  examples/l3fwd/l3fwd_event_internal_port.c | 281 ++++++++++++++++++
>  examples/l3fwd/l3fwd_lpm.c                 | 231 +++++++++++++++
>  examples/l3fwd/main.c                      | 316 +++++++++++++++++----
>  examples/l3fwd/meson.build                 |   5 +-
>  14 files changed, 1971 insertions(+), 115 deletions(-)
>  create mode 100644 examples/l3fwd/l3fwd_event.c
>  create mode 100644 examples/l3fwd/l3fwd_event.h
>  create mode 100644 examples/l3fwd/l3fwd_event_generic.c
>  create mode 100644 examples/l3fwd/l3fwd_event_internal_port.c
> 
> --
> 2.17.1



More information about the dev mailing list