> -----Original Message-----
> From: Jerin Jacob <jerinjac...@gmail.com>
> Sent: Saturday, October 31, 2020 7:50 AM
> To: McDaniel, Timothy <timothy.mcdan...@intel.com>
> Cc: dpdk-dev <dev@dpdk.org>; Carrillo, Erik G <erik.g.carri...@intel.com>;
> Eads, Gage <gage.e...@intel.com>; Van Haaren, Harry
> <harry.van.haa...@intel.com>; Jerin Jacob <jer...@marvell.com>; Thomas
> Monjalon <tho...@monjalon.net>
> Subject: Re: [dpdk-dev] [PATCH v13 00/23] Add DLB PMD
> 
> On Sat, Oct 31, 2020 at 7:41 AM Timothy McDaniel
> <timothy.mcdan...@intel.com> wrote:
> >
> > The following patch series adds support for a new eventdev PMD. The DLB
> > PMD adds support for the Intel Dynamic Load Balancer (DLB) hardware.
> > The DLB is a PCIe device that provides load-balanced, prioritized
> > scheduling of core-to-core communication. The device consists of
> > queues and arbiters that connect producer and consumer cores, and
> > implements load-balanced queueing features including:
> > - Lock-free multi-producer/multi-consumer operation.
> > - Multiple priority levels for varying traffic types.
> > - 'Direct' traffic (i.e. multi-producer/single-consumer)
> > - Simple unordered load-balanced distribution.
> > - Atomic lock-free load balancing across multiple consumers.
> > - Queue element reordering feature allowing ordered load-balanced
> >   distribution.
> >
> > The DLB hardware supports both load balanced and directed ports and
> > queues. Unlike other eventdev devices already in the repo,  not all
> > DLB ports and queues are equally capable. In particular, directed
> > ports are limited to a single link, and must be connected to a directed
> > queue.
> > Additionally, even though LDB ports may link multiple queues, the
> > number of queues that may be linked is limited by hardware. Another
> > difference is that DLB does not have a straightforward way of carrying
> > the flow_id in the queue elements (QE) that the hardware operates on.
> >
> > While reviewing the code, please be aware that this PMD has full
> > control over the DLB hardware. Intel will be extending the DLB PMD
> > in the future (not as part of this first series) with a mode that we
> > refer to as the bifurcated PMD. The bifurcated PMD communicates with a
> > kernel driver to configure the device, ports, and queues, and memory
> > maps device MMIO so datapath operations occur purely in user-space.
> >
> > The framework to support both the PF PMD and bifurcated PMD exists in
> > this patchset, and is why the iface.[ch] layer is present.
> >
> > Major changes in V13
> > ====================
> > - removed now unused functions dlb_umwait and dlb_umonitor
> 
> build error with clang at "event/dlb: add enqueue and its burst
> variants" patch. Please make sure each patch builds to avoid delay in
> merging the patch.
> Also, address the David comment on the doc for the next version.
> 
> 
> FAILED: drivers/libtmp_rte_event_dlb.a.p/event_dlb_dlb.c.o
> ccache clang -Idrivers/libtmp_rte_event_dlb.a.p -Idrivers -I../drivers
> -Idrivers/event/dlb -I../drivers/event/dlb -Ilib/librte_eventdev
> -I../lib/librte_eventdev -I. -I.. -Iconfig -I../config
> -Ilib/librte_eal/include -I../lib/librte_eal/incl
> ude -Ilib/librte_eal/linux/include -I../lib/librte_eal/linux/include
> -Ilib/librte_eal/x86/include -I../lib/librte_eal/x86/include
> -Ilib/librte_eal/common -I../lib/librte_eal/common -Ilib/librte_eal
> -I../lib/librte_eal -Ilib/librte_kvargs -I
> ../lib/librte_kvargs -Ilib/librte_metrics -I../lib/librte_metrics
> -Ilib/librte_telemetry -I../lib/librte_telemetry -Ilib/librte_ring
> -I../lib/librte_ring -Ilib/librte_ethdev -I../lib/librte_ethdev
> -Ilib/librte_net -I../lib/librte_net -Ilib/
> librte_mbuf -I../lib/librte_mbuf -Ilib/librte_mempool
> -I../lib/librte_mempool -Ilib/librte_meter -I../lib/librte_meter
> -Ilib/librte_hash -I../lib/librte_hash -Ilib/librte_rcu
> -I../lib/librte_rcu -Ilib/librte_timer -I../lib/librte_timer -Ili
> b/librte_cryptodev -I../lib/librte_cryptodev -Ilib/librte_pci
> -I../lib/librte_pci -Idrivers/bus/pci -I../drivers/bus/pci
> -I../drivers/bus/pci/linux -Xclang -fcolor-diagnostics -pipe
> -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2 -g
> -include rte_config.h -Wextra -Wcast-qual -Wdeprecated
> -Wformat-nonliteral -Wformat-security -Wmissing-declarations
> -Wmissing-prototypes -Wnested-externs -Wold-style-definition
> -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwr
> ite-strings -Wno-address-of-packed-member
> -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native
> -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ
> drivers/libtmp_rte_event_dlb.a.p/event_dlb_dlb.c.o -MF
> drivers/libtmp_rte_even
> t_dlb.a.p/event_dlb_dlb.c.o.d -o
> drivers/libtmp_rte_event_dlb.a.p/event_dlb_dlb.c.o -c
> ../drivers/event/dlb/dlb.c
> ../drivers/event/dlb/dlb.c:2777:1: error: unused function
> 'dlb_event_enqueue_delayed' [-Werror,-Wunused-function]
> dlb_event_enqueue_delayed(void *event_port,
> ^
> ../drivers/event/dlb/dlb.c:2762:1: error: unused function
> 'dlb_event_enqueue_burst_delayed' [-Werror,-Wunused-function]
> dlb_event_enqueue_burst_delayed(void *event_port,
> ^
> ../drivers/event/dlb/dlb.c:2792:1: error: unused function
> 'dlb_event_enqueue_new_burst_delayed' [-Werror,-Wunused-function]
> dlb_event_enqueue_new_burst_delayed(void *event_port,
> ^
> ../drivers/event/dlb/dlb.c:2808:1: error: unused function
> 'dlb_event_enqueue_forward_burst_delayed' [-Werror,-Wunused-function]
> dlb_event_enqueue_forward_burst_delayed(void *event_port,
> ^
> ../drivers/event/dlb/dlb.c:2605:1: error: unused function
> 'dlb_construct_token_pop_qe' [-Werror,-Wunused-function]
> dlb_construct_token_pop_qe(struct dlb_port *qm_port, int idx)
> ^
> ../drivers/event/dlb/dlb.c:2653:1: error: unused function
> 'dlb_consume_qe_immediate' [-Werror,-Wunused-function]
> dlb_consume_qe_immediate(struct dlb_port *qm_port, int num)
> ^
> 6 errors generated.
> 

Took care of these in V14.  Hoping it’s the last of the errors.

Reply via email to