numam-dpdk/doc/guides/eventdevs
Abdullah Sevincer 8d1d9070bb event/dlb2: optimize producer port probing
For best performance, applications running on certain cores should use
the DLB device locally available on the same tile along with other
resources. To allocate optimal resources, probing is done for each
producer port (PP) for a given CPU and the best performing ports are
allocated to producers. The CPU used for probing is either the first
core of producer coremask (if present) or the second core of EAL
coremask. This will be extended later to probe for all CPUs in the
producer coremask or EAL coremask.

Producer coremask can be passed along with the BDF of the DLB devices.
"-a xx:y.z,producer_coremask=<core_mask>"

Applications also need to pass RTE_EVENT_PORT_CFG_HINT_PRODUCER during
rte_event_port_setup() for producer ports for optimal port allocation.

For optimal load balancing ports that map to one or more QIDs in common
should not be in numerical sequence. The port->QID mapping is application
dependent, but the driver interleaves port IDs as much as possible to
reduce the likelihood of sequential ports mapping to the same QID(s).

Hence, DLB uses an initial allocation of Port IDs to maximize the
average distance between an ID and its immediate neighbors. Using
the initialport allocation option can be passed through devarg
"default_port_allocation=y(or Y)".

When events are dropped by workers or consumers that use LDB ports,
completions are sent which are just ENQs and may impact the latency.
To address this,  probing is done for LDB ports as well. Probing is
done on ports per 'cos'. When default cos is used, ports will be
allocated from best ports from the best 'cos', else from best ports of
the specific cos.

Signed-off-by: Abdullah Sevincer <abdullah.sevincer@intel.com>
2022-09-30 10:24:36 +02:00
..
features event/dlb2: fix advertized capabilities 2022-06-14 11:21:52 +02:00
cnxk.rst event/cnxk: set dequeue mode to prefetch with wait 2022-09-27 12:56:38 +02:00
dlb2.rst event/dlb2: optimize producer port probing 2022-09-30 10:24:36 +02:00
dpaa2.rst doc: remove SDK info from DPAA2 drivers guides 2021-07-23 20:33:12 +02:00
dpaa.rst doc: remove references to make from eventdevs guide 2020-10-22 22:54:05 +02:00
dsw.rst eventdev: negate maintenance capability flag 2021-11-15 08:22:38 +01:00
index.rst drivers: remove octeontx2 drivers 2022-01-12 15:36:32 +01:00
octeontx.rst event/octeontx: remove selftest option 2020-11-20 18:53:47 +01:00
opdl.rst doc: capitalise PMD 2021-11-26 11:28:34 +01:00
overview.rst doc: add eventdev feature matrices 2021-11-26 16:29:25 +01:00
sw.rst event/sw: improve performance 2020-10-15 23:09:58 +02:00