[dpdk-dev,00/20] add eventmode helper functions

Message ID 1528478659-15859-1-git-send-email-anoob.joseph@caviumnetworks.com (mailing list archive)
Headers
Series add eventmode helper functions |

Message

Anoob Joseph June 8, 2018, 5:23 p.m. UTC
  This patchset adds common initialization code required for using
applications in event mode. The APIs exposed, abstracts the complex
configuration options exposed by eventdev, ethdev & eth rx adapter.
Also, this enables the usage of multiple workers fine tuned for the
features of the underlying hardware.

With these APIs, existing poll mode applications can be made event
driven easily, and the applications can better leverage the event
mode's capabilities.

L2fwd application has been made event-driven to demonstrate the usage
of helper APIs. Tested with nicvf eth PMD and event_octeontx event
PMD on Cavium's CN83XX platform.

Parts of this patchset is inspired by an RFC send by
Sunil Kumar Kori <sunil.kori@nxp.com>

Anoob Joseph (20):
  eventdev: add files for eventmode helper
  eventdev: add routines for logging eventmode helper
  eventdev: add eventmode CL options framework
  eventdev: allow application to set ethernet portmask
  eventdev: add framework for eventmode conf
  eventdev: add common initialize routine for eventmode devs
  eventdev: add eventdevice init for eventmode
  eventdev: add eventdev port-lcore link
  eventdev: add option to specify schedule mode for app stage
  eventdev: add placeholder for ethdev init
  eventdev: add Rx adapter init in eventmode
  eventdev: add routine to validate conf
  eventdev: add default conf for event devs field in conf
  eventdev: add default conf for Rx adapter conf
  eventdev: add default conf for event port-lcore link
  eventdev: add routines to display the eventmode conf
  eventdev: add routine to access eventmode link info
  eventdev: add routine to access event queue for eth Tx
  eventdev: add routine to launch eventmode workers
  examples/l2fwd: add eventmode for l2fwd

 config/common_base                                 |    1 +
 examples/l2fwd/l2fwd_worker.c                      |  815 +++++++++++-
 examples/l2fwd/main.c                              |   64 +-
 lib/librte_eal/common/eal_common_log.c             |    1 +
 lib/librte_eal/common/include/rte_log.h            |    1 +
 lib/librte_eventdev/Makefile                       |    3 +
 lib/librte_eventdev/rte_eventmode_helper.c         | 1293 ++++++++++++++++++++
 lib/librte_eventdev/rte_eventmode_helper.h         |  213 ++++
 .../rte_eventmode_helper_internal.h                |  130 ++
 lib/librte_eventdev/rte_eventmode_helper_prints.c  |  161 +++
 10 files changed, 2667 insertions(+), 15 deletions(-)
 create mode 100644 lib/librte_eventdev/rte_eventmode_helper.c
 create mode 100644 lib/librte_eventdev/rte_eventmode_helper.h
 create mode 100644 lib/librte_eventdev/rte_eventmode_helper_internal.h
 create mode 100644 lib/librte_eventdev/rte_eventmode_helper_prints.c
  

Comments

Jerin Jacob June 11, 2018, 8:32 a.m. UTC | #1
-----Original Message-----
> Date: Fri,  8 Jun 2018 22:53:59 +0530
> From: Anoob Joseph <anoob.joseph@caviumnetworks.com>
> To: Bruce Richardson <bruce.richardson@intel.com>, Jerin Jacob
>  <jerin.jacob@caviumnetworks.com>, Pablo de Lara
>  <pablo.de.lara.guarch@intel.com>
> Cc: Anoob Joseph <anoob.joseph@caviumnetworks.com>, Hemant Agrawal
>  <hemant.agrawal@nxp.com>, Narayana Prasad
>  <narayanaprasad.athreya@caviumnetworks.com>, Nikhil Rao
>  <nikhil.rao@intel.com>, Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>,
>  Sunil Kumar Kori <sunil.kori@nxp.com>, dev@dpdk.org
> Subject: [PATCH 00/20] add eventmode helper functions
> X-Mailer: git-send-email 2.7.4
> 
> This patchset adds common initialization code required for using
> applications in event mode. The APIs exposed, abstracts the complex
> configuration options exposed by eventdev, ethdev & eth rx adapter.
> Also, this enables the usage of multiple workers fine tuned for the
> features of the underlying hardware.
> 
> With these APIs, existing poll mode applications can be made event
> driven easily, and the applications can better leverage the event
> mode's capabilities.
> 
> L2fwd application has been made event-driven to demonstrate the usage
> of helper APIs. Tested with nicvf eth PMD and event_octeontx event
> PMD on Cavium's CN83XX platform.
> 
> Parts of this patchset is inspired by an RFC send by
> Sunil Kumar Kori <sunil.kori@nxp.com>

Hi Anoob,

There is bit overlap with Nikhil's TX adapter patches and this series.
I prefer to have Nikhil's Tx adapter gets in first(as he sent the RFC
first) and then rework this series to adapt Tx adapter patches. I think,
this will enable
- application code will be even much cleaner with Tx adapter.
- zero overlap
- no major rework

Nikhil,

When you are planning to send the first version of Tx adapter patch so
we all can review it and give time for Anoob to rework this series
based on Tx adapter APIs'

All,

Is there any concern on overall rte_eventmode_helper.h approach to 
avoid code duplication for Rx and Tx adapter configuration codes
across all the applications?