mbox series

[RFC,00/10] eventdev: remove single-event enqueue and dequeue

Message ID 20241015084943.823983-1-mattias.ronnblom@ericsson.com (mailing list archive)
Headers
Series eventdev: remove single-event enqueue and dequeue |

Message

Mattias Rönnblom Oct. 15, 2024, 8:49 a.m. UTC
Remove the single-event enqueue and dequeue functions from the
eventdev "ops" struct, to reduce complexity, leaving performance
unaffected.

This ABI change has been announced as a DPDK deprication notice,
originally scheduled for DPDK 23.11.

Mattias Rönnblom (10):
  event/dsw: remove single event enqueue and dequeue
  event/dlb2: remove single event enqueue and dequeue
  event/cnxk: remove single event enqueue and dequeue
  event/octeontx: remove single event enqueue and dequeue
  event/sw: remove single event enqueue and dequeue
  event/dpaa: remove single event enqueue and dequeue
  event/dpaa2: remove single event enqueue and dequeue
  event/opdl: remove single event enqueue and dequeue
  event/skeleton: remove single event enqueue and dequeue
  eventdev: remove single event enqueue and dequeue

 doc/guides/rel_notes/deprecation.rst       |  6 +--
 drivers/event/cnxk/cn10k_eventdev.c        |  2 -
 drivers/event/cnxk/cn10k_worker.c          | 49 ++++++++++------------
 drivers/event/cnxk/cn10k_worker.h          |  9 ----
 drivers/event/cnxk/cn9k_eventdev.c         |  1 -
 drivers/event/cnxk/cn9k_worker.c           | 26 ++++--------
 drivers/event/cnxk/cn9k_worker.h           | 17 --------
 drivers/event/dlb2/dlb2.c                  | 33 +--------------
 drivers/event/dpaa/dpaa_eventdev.c         | 27 +-----------
 drivers/event/dpaa2/dpaa2_eventdev.c       |  2 -
 drivers/event/dsw/dsw_evdev.c              |  2 -
 drivers/event/dsw/dsw_evdev.h              |  2 -
 drivers/event/dsw/dsw_event.c              | 12 ------
 drivers/event/octeontx/ssovf_evdev.h       |  1 -
 drivers/event/octeontx/ssovf_worker.c      | 40 ++----------------
 drivers/event/opdl/opdl_evdev.c            |  2 -
 drivers/event/skeleton/skeleton_eventdev.c |  4 --
 drivers/event/sw/sw_evdev.c                |  2 -
 drivers/event/sw/sw_evdev.h                |  2 -
 drivers/event/sw/sw_evdev_worker.c         | 12 ------
 lib/eventdev/eventdev_pmd.h                |  4 --
 lib/eventdev/eventdev_private.c            | 22 ----------
 lib/eventdev/rte_eventdev.h                | 21 ++--------
 lib/eventdev/rte_eventdev_core.h           |  4 --
 24 files changed, 43 insertions(+), 259 deletions(-)
  

Comments

Stephen Hemminger Oct. 15, 2024, 5:07 p.m. UTC | #1
On Tue, 15 Oct 2024 10:49:33 +0200
Mattias Rönnblom <mattias.ronnblom@ericsson.com> wrote:

> Remove the single-event enqueue and dequeue functions from the
> eventdev "ops" struct, to reduce complexity, leaving performance
> unaffected.
> 
> This ABI change has been announced as a DPDK deprication notice,
> originally scheduled for DPDK 23.11.
> 
> Mattias Rönnblom (10):
>   event/dsw: remove single event enqueue and dequeue
>   event/dlb2: remove single event enqueue and dequeue
>   event/cnxk: remove single event enqueue and dequeue
>   event/octeontx: remove single event enqueue and dequeue
>   event/sw: remove single event enqueue and dequeue
>   event/dpaa: remove single event enqueue and dequeue
>   event/dpaa2: remove single event enqueue and dequeue
>   event/opdl: remove single event enqueue and dequeue
>   event/skeleton: remove single event enqueue and dequeue
>   eventdev: remove single event enqueue and dequeue
> 
>  doc/guides/rel_notes/deprecation.rst       |  6 +--
>  drivers/event/cnxk/cn10k_eventdev.c        |  2 -
>  drivers/event/cnxk/cn10k_worker.c          | 49 ++++++++++------------
>  drivers/event/cnxk/cn10k_worker.h          |  9 ----
>  drivers/event/cnxk/cn9k_eventdev.c         |  1 -
>  drivers/event/cnxk/cn9k_worker.c           | 26 ++++--------
>  drivers/event/cnxk/cn9k_worker.h           | 17 --------
>  drivers/event/dlb2/dlb2.c                  | 33 +--------------
>  drivers/event/dpaa/dpaa_eventdev.c         | 27 +-----------
>  drivers/event/dpaa2/dpaa2_eventdev.c       |  2 -
>  drivers/event/dsw/dsw_evdev.c              |  2 -
>  drivers/event/dsw/dsw_evdev.h              |  2 -
>  drivers/event/dsw/dsw_event.c              | 12 ------
>  drivers/event/octeontx/ssovf_evdev.h       |  1 -
>  drivers/event/octeontx/ssovf_worker.c      | 40 ++----------------
>  drivers/event/opdl/opdl_evdev.c            |  2 -
>  drivers/event/skeleton/skeleton_eventdev.c |  4 --
>  drivers/event/sw/sw_evdev.c                |  2 -
>  drivers/event/sw/sw_evdev.h                |  2 -
>  drivers/event/sw/sw_evdev_worker.c         | 12 ------
>  lib/eventdev/eventdev_pmd.h                |  4 --
>  lib/eventdev/eventdev_private.c            | 22 ----------
>  lib/eventdev/rte_eventdev.h                | 21 ++--------
>  lib/eventdev/rte_eventdev_core.h           |  4 --
>  24 files changed, 43 insertions(+), 259 deletions(-)

Looks good always like to see code removed.

You missed one place though.


*Build Failed #1:
OS: RHEL94-64
Target: x86_64-native-linuxapp-clang
FAILED: drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o 
clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2 -Ilib/eventdev -I../lib/eventdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ring -I../lib/ring -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/meter -I../lib/meter -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/timer -I../lib/timer -Ilib/cryptodev -I../lib/cryptodev -Ilib/dmadev -I../lib/dmadev -Ilib/pci -I../lib/pci -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DCC_AVX512_SUPPORT -DRTE_LOG_DEFAULT_LOGTYPE=pmd.event.dlb2 -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -MF drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o.d -o drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -c ../drivers/event/dlb2/dlb2.c
../drivers/event/dlb2/dlb2.c:3303:1: error: unused function 'dlb2_event_enqueue_delayed' [-Werror,-Wunused-function]
 3303 | dlb2_event_enqueue_delayed(void *event_port,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[2373/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_iface.c.o
[2374/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_xstats.c.o
[2375/3000] Compiling C object drivers/event/dlb2/libavx512_tmp.a.p/dlb2_avx512.c.o
[2376/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_rte_pmd_dlb2.c.o
[2377/3000] Compiling C object drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cn10k_eventdev.c.o
[2378/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o
[2379/3000] Compiling C object drivers/libtmp_rte_event_dpaa.a.p/event_dpaa_dpaa_eventdev.c.o
[2380/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_selftest.c.o
[2381/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_base_dlb2_resource.c.o
ninja: build stopped
  
Mattias Rönnblom Oct. 15, 2024, 6:38 p.m. UTC | #2
On 2024-10-15 19:07, Stephen Hemminger wrote:
> On Tue, 15 Oct 2024 10:49:33 +0200
> Mattias Rönnblom <mattias.ronnblom@ericsson.com> wrote:
> 
>> Remove the single-event enqueue and dequeue functions from the
>> eventdev "ops" struct, to reduce complexity, leaving performance
>> unaffected.
>>
>> This ABI change has been announced as a DPDK deprication notice,
>> originally scheduled for DPDK 23.11.
>>
>> Mattias Rönnblom (10):
>>    event/dsw: remove single event enqueue and dequeue
>>    event/dlb2: remove single event enqueue and dequeue
>>    event/cnxk: remove single event enqueue and dequeue
>>    event/octeontx: remove single event enqueue and dequeue
>>    event/sw: remove single event enqueue and dequeue
>>    event/dpaa: remove single event enqueue and dequeue
>>    event/dpaa2: remove single event enqueue and dequeue
>>    event/opdl: remove single event enqueue and dequeue
>>    event/skeleton: remove single event enqueue and dequeue
>>    eventdev: remove single event enqueue and dequeue
>>
>>   doc/guides/rel_notes/deprecation.rst       |  6 +--
>>   drivers/event/cnxk/cn10k_eventdev.c        |  2 -
>>   drivers/event/cnxk/cn10k_worker.c          | 49 ++++++++++------------
>>   drivers/event/cnxk/cn10k_worker.h          |  9 ----
>>   drivers/event/cnxk/cn9k_eventdev.c         |  1 -
>>   drivers/event/cnxk/cn9k_worker.c           | 26 ++++--------
>>   drivers/event/cnxk/cn9k_worker.h           | 17 --------
>>   drivers/event/dlb2/dlb2.c                  | 33 +--------------
>>   drivers/event/dpaa/dpaa_eventdev.c         | 27 +-----------
>>   drivers/event/dpaa2/dpaa2_eventdev.c       |  2 -
>>   drivers/event/dsw/dsw_evdev.c              |  2 -
>>   drivers/event/dsw/dsw_evdev.h              |  2 -
>>   drivers/event/dsw/dsw_event.c              | 12 ------
>>   drivers/event/octeontx/ssovf_evdev.h       |  1 -
>>   drivers/event/octeontx/ssovf_worker.c      | 40 ++----------------
>>   drivers/event/opdl/opdl_evdev.c            |  2 -
>>   drivers/event/skeleton/skeleton_eventdev.c |  4 --
>>   drivers/event/sw/sw_evdev.c                |  2 -
>>   drivers/event/sw/sw_evdev.h                |  2 -
>>   drivers/event/sw/sw_evdev_worker.c         | 12 ------
>>   lib/eventdev/eventdev_pmd.h                |  4 --
>>   lib/eventdev/eventdev_private.c            | 22 ----------
>>   lib/eventdev/rte_eventdev.h                | 21 ++--------
>>   lib/eventdev/rte_eventdev_core.h           |  4 --
>>   24 files changed, 43 insertions(+), 259 deletions(-)
> 
> Looks good always like to see code removed.
> 
> You missed one place though.
> 
> 

I thought developer mode meant -Werror, for some reason.

Fixed this and two other similar issues in RFC v2.

Thanks.

> *Build Failed #1:
> OS: RHEL94-64
> Target: x86_64-native-linuxapp-clang
> FAILED: drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o
> clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2 -Ilib/eventdev -I../lib/eventdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ring -I../lib/ring -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/meter -I../lib/meter -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/timer -I../lib/timer -Ilib/cryptodev -I../lib/cryptodev -Ilib/dmadev -I../lib/dmadev -Ilib/pci -I../lib/pci -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DCC_AVX512_SUPPORT -DRTE_LOG_DEFAULT_LOGTYPE=pmd.event.dlb2 -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -MF drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o.d -o drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -c ../drivers/event/dlb2/dlb2.c
> ../drivers/event/dlb2/dlb2.c:3303:1: error: unused function 'dlb2_event_enqueue_delayed' [-Werror,-Wunused-function]
>   3303 | dlb2_event_enqueue_delayed(void *event_port,
>        | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
> [2373/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_iface.c.o
> [2374/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_xstats.c.o
> [2375/3000] Compiling C object drivers/event/dlb2/libavx512_tmp.a.p/dlb2_avx512.c.o
> [2376/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_rte_pmd_dlb2.c.o
> [2377/3000] Compiling C object drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cn10k_eventdev.c.o
> [2378/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o
> [2379/3000] Compiling C object drivers/libtmp_rte_event_dpaa.a.p/event_dpaa_dpaa_eventdev.c.o
> [2380/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_selftest.c.o
> [2381/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_base_dlb2_resource.c.o
> ninja: build stopped