c71d22ae7daa7807ceb6c41b3b53b57a4f03c896
[dpdk.git] / doc / guides / eventdevs / dlb.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2020 Intel Corporation.
3
4 Driver for the IntelĀ® Dynamic Load Balancer (DLB)
5 =================================================
6
7 The DPDK dlb poll mode driver supports the IntelĀ® Dynamic Load Balancer.
8
9 Prerequisites
10 -------------
11
12 Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
13 the basic DPDK environment.
14
15 Configuration
16 -------------
17
18 The DLB PF PMD is a user-space PMD that uses VFIO to gain direct
19 device access. To use this operation mode, the PCIe PF device must be bound
20 to a DPDK-compatible VFIO driver, such as vfio-pci.
21
22 Eventdev API Notes
23 ------------------
24
25 The DLB provides the functions of a DPDK event device; specifically, it
26 supports atomic, ordered, and parallel scheduling events from queues to ports.
27 However, the DLB hardware is not a perfect match to the eventdev API. Some DLB
28 features are abstracted by the PMD (e.g. directed ports), some are only
29 accessible as vdev command-line parameters, and certain eventdev features are
30 not supported (e.g. the event flow ID is not maintained during scheduling).
31
32 In general the dlb PMD is designed for ease-of-use and does not require a
33 detailed understanding of the hardware, but these details are important when
34 writing high-performance code. This section describes the places where the
35 eventdev API and DLB misalign.
36