mbox series

[0/2] Eventdev ABI changes for DLB/DLB2

Message ID 1602711375-10685-1-git-send-email-timothy.mcdaniel@intel.com (mailing list archive)
Headers show
Series Eventdev ABI changes for DLB/DLB2 | expand

Message

McDaniel, Timothy Oct. 14, 2020, 9:36 p.m. UTC
This series implements the eventdev ABI changes required by
the DLB and DLB2 PMDs. This ABI change was announced in the
20.08 release notes [1]. This patch was initially part of
the V1 DLB PMD patchset.

The DLB hardware does not conform exactly to the eventdev interface.
1) It has a limit on the number of queues that may be linked to a port.
2) Some ports are further restricted to a maximum of 1 linked queue.
3) It does not (currently) have the ability to carry the flow_id as part
of the event (QE) payload.

Due to the above, we would like to propose the following enhancements.

1) Add new fields to the rte_event_dev_info struct. These fields allow
the device to advertise its capabilities so that applications can take
the appropriate actions based on those capabilities.

2) Add a new field to the rte_event_dev_config struct. This field allows
the application to specify how many of its ports are limited to a single
link, or will be used in single link mode.

3) Replace the dedicated implicit_release_disabled field with a bit field
of explicit port capabilities. The implicit_release_disable functionality
is assigned to one bit, and a port-is-single-link-only attribute is
assigned to another, with the remaining bits available for future
assignment.

Note that it was requested that we split this app/test
changes out from the eventdev ABI patch. As a result,
neither of these patches will build without the other
also being applied.

Major changes since V1:
Reworded commit message, as requested
Fixed errors reported by clang

Testing showed no performance impact due to the flow_id template code
added to test app.

[1] http://mails.dpdk.org/archives/dev/2020-August/177261.html


Timothy McDaniel (2):
  eventdev: eventdev: express DLB/DLB2 PMD constraints
  eventdev: update app and examples for new eventdev ABI



Timothy McDaniel (2):
  eventdev: eventdev: express DLB/DLB2 PMD constraints
  eventdev: update app and examples for new eventdev ABI

 app/test-eventdev/evt_common.h                     | 11 ++++
 app/test-eventdev/test_order_atq.c                 | 28 ++++++---
 app/test-eventdev/test_order_common.c              |  1 +
 app/test-eventdev/test_order_queue.c               | 29 +++++++---
 app/test/test_eventdev.c                           |  4 +-
 drivers/event/dpaa/dpaa_eventdev.c                 |  3 +-
 drivers/event/dpaa2/dpaa2_eventdev.c               |  5 +-
 drivers/event/dsw/dsw_evdev.c                      |  3 +-
 drivers/event/octeontx/ssovf_evdev.c               |  5 +-
 drivers/event/octeontx2/otx2_evdev.c               |  3 +-
 drivers/event/opdl/opdl_evdev.c                    |  3 +-
 drivers/event/skeleton/skeleton_eventdev.c         |  5 +-
 drivers/event/sw/sw_evdev.c                        |  8 ++-
 drivers/event/sw/sw_evdev_selftest.c               |  6 +-
 .../eventdev_pipeline/pipeline_worker_generic.c    |  6 +-
 examples/eventdev_pipeline/pipeline_worker_tx.c    |  1 +
 examples/l2fwd-event/l2fwd_event_generic.c         |  7 ++-
 examples/l2fwd-event/l2fwd_event_internal_port.c   |  6 +-
 examples/l3fwd/l3fwd_event_generic.c               |  7 ++-
 examples/l3fwd/l3fwd_event_internal_port.c         |  6 +-
 lib/librte_eventdev/rte_event_eth_tx_adapter.c     |  2 +-
 lib/librte_eventdev/rte_eventdev.c                 | 66 +++++++++++++++++++---
 lib/librte_eventdev/rte_eventdev.h                 | 51 ++++++++++++++---
 lib/librte_eventdev/rte_eventdev_pmd_pci.h         |  1 -
 lib/librte_eventdev/rte_eventdev_trace.h           |  7 ++-
 lib/librte_eventdev/rte_eventdev_version.map       |  4 +-
 26 files changed, 214 insertions(+), 64 deletions(-)

Comments

Jerin Jacob Oct. 15, 2020, 2:26 p.m. UTC | #1
On Thu, Oct 15, 2020 at 3:04 AM Timothy McDaniel
<timothy.mcdaniel@intel.com> wrote:
>
> This series implements the eventdev ABI changes required by
> the DLB and DLB2 PMDs. This ABI change was announced in the
> 20.08 release notes [1]. This patch was initially part of
> the V1 DLB PMD patchset.

Hi @McDaniel, Timothy ,

Following things missing in this patch set before it needs to merge:
- Update doc/guides/rel_notes/release_20_11.rst for "API Changes"
and/or "ABI Changes" section
- Update doc/guides/rel_notes/deprecation.rst to remove the this patch
specific depreciation note
- Merge patch 1 and 2 to a single patch it has a compilation error if
we build patch1 alone
- Update the git commit to give more data on the combined patch.
- rebase the patch to http://browse.dpdk.org/next/dpdk-next-eventdev/,
it still git-am apply issues.

After fixing the above, I will merge this RC1. Please send ASAP.



>
> The DLB hardware does not conform exactly to the eventdev interface.
> 1) It has a limit on the number of queues that may be linked to a port.
> 2) Some ports are further restricted to a maximum of 1 linked queue.
> 3) It does not (currently) have the ability to carry the flow_id as part
> of the event (QE) payload.
>
> Due to the above, we would like to propose the following enhancements.
>
> 1) Add new fields to the rte_event_dev_info struct. These fields allow
> the device to advertise its capabilities so that applications can take
> the appropriate actions based on those capabilities.
>
> 2) Add a new field to the rte_event_dev_config struct. This field allows
> the application to specify how many of its ports are limited to a single
> link, or will be used in single link mode.
>
> 3) Replace the dedicated implicit_release_disabled field with a bit field
> of explicit port capabilities. The implicit_release_disable functionality
> is assigned to one bit, and a port-is-single-link-only attribute is
> assigned to another, with the remaining bits available for future
> assignment.
>
> Note that it was requested that we split this app/test
> changes out from the eventdev ABI patch. As a result,
> neither of these patches will build without the other
> also being applied.
>
> Major changes since V1:
> Reworded commit message, as requested
> Fixed errors reported by clang
>
> Testing showed no performance impact due to the flow_id template code
> added to test app.
>
> [1] http://mails.dpdk.org/archives/dev/2020-August/177261.html
>
>
> Timothy McDaniel (2):
>   eventdev: eventdev: express DLB/DLB2 PMD constraints
>   eventdev: update app and examples for new eventdev ABI
>
>
>
> Timothy McDaniel (2):
>   eventdev: eventdev: express DLB/DLB2 PMD constraints
>   eventdev: update app and examples for new eventdev ABI
>
>  app/test-eventdev/evt_common.h                     | 11 ++++
>  app/test-eventdev/test_order_atq.c                 | 28 ++++++---
>  app/test-eventdev/test_order_common.c              |  1 +
>  app/test-eventdev/test_order_queue.c               | 29 +++++++---
>  app/test/test_eventdev.c                           |  4 +-
>  drivers/event/dpaa/dpaa_eventdev.c                 |  3 +-
>  drivers/event/dpaa2/dpaa2_eventdev.c               |  5 +-
>  drivers/event/dsw/dsw_evdev.c                      |  3 +-
>  drivers/event/octeontx/ssovf_evdev.c               |  5 +-
>  drivers/event/octeontx2/otx2_evdev.c               |  3 +-
>  drivers/event/opdl/opdl_evdev.c                    |  3 +-
>  drivers/event/skeleton/skeleton_eventdev.c         |  5 +-
>  drivers/event/sw/sw_evdev.c                        |  8 ++-
>  drivers/event/sw/sw_evdev_selftest.c               |  6 +-
>  .../eventdev_pipeline/pipeline_worker_generic.c    |  6 +-
>  examples/eventdev_pipeline/pipeline_worker_tx.c    |  1 +
>  examples/l2fwd-event/l2fwd_event_generic.c         |  7 ++-
>  examples/l2fwd-event/l2fwd_event_internal_port.c   |  6 +-
>  examples/l3fwd/l3fwd_event_generic.c               |  7 ++-
>  examples/l3fwd/l3fwd_event_internal_port.c         |  6 +-
>  lib/librte_eventdev/rte_event_eth_tx_adapter.c     |  2 +-
>  lib/librte_eventdev/rte_eventdev.c                 | 66 +++++++++++++++++++---
>  lib/librte_eventdev/rte_eventdev.h                 | 51 ++++++++++++++---
>  lib/librte_eventdev/rte_eventdev_pmd_pci.h         |  1 -
>  lib/librte_eventdev/rte_eventdev_trace.h           |  7 ++-
>  lib/librte_eventdev/rte_eventdev_version.map       |  4 +-
>  26 files changed, 214 insertions(+), 64 deletions(-)
>
> --
> 2.6.4
>
McDaniel, Timothy Oct. 15, 2020, 2:38 p.m. UTC | #2
> -----Original Message-----
> From: Jerin Jacob <jerinjacobk@gmail.com>
> Sent: Thursday, October 15, 2020 9:26 AM
> To: McDaniel, Timothy <timothy.mcdaniel@intel.com>
> Cc: dpdk-dev <dev@dpdk.org>; Carrillo, Erik G <erik.g.carrillo@intel.com>; Eads,
> Gage <gage.eads@intel.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Hemant Agrawal <hemant.agrawal@nxp.com>
> Subject: Re: [dpdk-dev] [PATCH 0/2] Eventdev ABI changes for DLB/DLB2
> 
> On Thu, Oct 15, 2020 at 3:04 AM Timothy McDaniel
> <timothy.mcdaniel@intel.com> wrote:
> >
> > This series implements the eventdev ABI changes required by
> > the DLB and DLB2 PMDs. This ABI change was announced in the
> > 20.08 release notes [1]. This patch was initially part of
> > the V1 DLB PMD patchset.
> 
> Hi @McDaniel, Timothy ,
> 
> Following things missing in this patch set before it needs to merge:
> - Update doc/guides/rel_notes/release_20_11.rst for "API Changes"
> and/or "ABI Changes" section
> - Update doc/guides/rel_notes/deprecation.rst to remove the this patch
> specific depreciation note
> - Merge patch 1 and 2 to a single patch it has a compilation error if
> we build patch1 alone
> - Update the git commit to give more data on the combined patch.
> - rebase the patch to http://browse.dpdk.org/next/dpdk-next-eventdev/,
> it still git-am apply issues.
> 
> After fixing the above, I will merge this RC1. Please send ASAP.
> 

I will get on this straight away. Thanks.