[dpdk-dev] [RFC] Proposals and notes from ABI stability panel @ DPDK Userspace

Ray Kinsella mdr at ashroe.eu
Mon Sep 23 19:51:16 CEST 2019


Folks,

As you may be aware, there was a panel on ABI Stability @ DPDK
Userspace.  There where a number of proposed amendments to the ABI
stability proposal made, as well as a number of points and comments, you
will find all these below. The proposals needs further discussion so
please chime in below.

Thanks to Tim for capturing while I was busy on the stage.

Thanks,

Ray K


Table of Contents
_________________

1. Proposals from the panel discussion.
.. 1. Developer releases (versus User Releases)
.. 2. Core and non-core packaging
.. 3. Approach for public data structures
.. 4. Delaying v19.11
2. Other notes from the panel discussion.
.. 1. Performance as the paramount goal.
.. 2. Length of ABI Stability.
.. 3. Testing ABI Stability
.. 4. Call to action


1 Proposals from the panel discussion.
======================================

1.1 Developer releases (versus User Releases)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  - Summary: Differentiate between "developer" and "user" releases.
    - 1 year is too long to wait to upstream a new feature which breaks
      ABI.
    - Developer releases would be for use by the development community
      only.
    - A proposed compromise was that the .08 release would be the only
      "developer release".


1.2 Core and non-core packaging
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  - Summary: OS packaging doesn't include all libraries.
    - This would create a delta between the community ABI, and the OS
      packaging.
    - OS packagers rational is that some libraries are used very rarely.


1.3 Approach for public data structures
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  - Summary: Public/exposed data structures are tricky for ABI
    stability.
    - See discussion @

<http://inbox.dpdk.org/dev/980083c6-130a-9658-f82b-0c9ddc7cc0cc@ashroe.eu/>


1.4 Delaying v19.11
~~~~~~~~~~~~~~~~~~~

  - Summary: push v19.11 to v19.12 to make more time to prepare and wave
    the depreciation process.
    - OVS take Nov LTS release in their Feb release. Delaying 19.11 may
      have an impact on this.
    - Not easy to change release at this stage as many things depend on
      it (OS distros etc.).


2 Other notes from the panel discussion.
========================================

2.1 Performance as the paramount goal.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  - Some users, would trade performance for better readability and
    debug-ability.
  - Skepticism that micro-benchmarks reflect real world performance.


2.2 Length of ABI Stability.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  - Some users, questioned if 1 year would be long enough.
  - It was clarified that the 1 year period, would be reviewed after the
    first year with the intention of lengthening the period.


2.3 Testing ABI Stability
~~~~~~~~~~~~~~~~~~~~~~~~~

  - More work for developers and validation teams. Need to validate
    multiple paths for symbol versioning.


2.4 Call to action
~~~~~~~~~~~~~~~~~~

  - We should do something. So we don’t want to have the same
    conversation again in a year.


More information about the dev mailing list