OCTEON TX2 SSO Eventdev Driver
===============================
-The OCTEON TX2 SSO PMD (**librte_pmd_octeontx2_event**) provides poll mode
+The OCTEON TX2 SSO PMD (**librte_event_octeontx2**) provides poll mode
eventdev driver support for the inbuilt event device found in the **Marvell OCTEON TX2**
SoC family.
- HW managed packets enqueued from ethdev to eventdev exposed through event eth
RX adapter.
- N:1 ethernet device Rx queue to Event queue mapping.
-- Lockfree Tx from event eth Tx adapter using ``DEV_TX_OFFLOAD_MT_LOCKFREE``
+- Lockfree Tx from event eth Tx adapter using ``RTE_ETH_TX_OFFLOAD_MT_LOCKFREE``
capability while maintaining receive packet order.
- Full Rx/Tx offload support defined through ethdev queue config.
See :doc:`../platform/octeontx2` for setup information.
-Pre-Installation Configuration
-------------------------------
-
-Compile time Config Options
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following option can be modified in the ``config`` file.
-
-- ``CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV`` (default ``y``)
-
- Toggle compilation of the ``librte_pmd_octeontx2_event`` driver.
Runtime Config Options
-~~~~~~~~~~~~~~~~~~~~~~
+----------------------
- ``Maximum number of in-flight events`` (default ``8192``)
upper limit for in-flight events.
For example::
- -w 0002:0e:00.0,xae_cnt=16384
+ -a 0002:0e:00.0,xae_cnt=16384
- ``Force legacy mode``
single workslot mode in SSO and disable the default dual workslot mode.
For example::
- -w 0002:0e:00.0,single_ws=1
+ -a 0002:0e:00.0,single_ws=1
- ``Event Group QoS support``
default.
For example::
- -w 0002:0e:00.0,qos=[1-50-50-50]
-
-- ``Selftest``
-
- The functionality of OCTEON TX2 eventdev can be verified using this option,
- various unit and functional tests are run to verify the sanity.
- The tests are run once the vdev creation is successfully complete.
- For example::
-
- -w 0002:0e:00.0,selftest=1
+ -a 0002:0e:00.0,qos=[1-50-50-50]
- ``TIM disable NPA``
parameter disables NPA and uses software mempool to manage chunks
For example::
- -w 0002:0e:00.0,tim_disable_npa=1
+ -a 0002:0e:00.0,tim_disable_npa=1
- ``TIM modify chunk slots``
to SSO. The default value is 255 and the max value is 4095.
For example::
- -w 0002:0e:00.0,tim_chnk_slots=1023
+ -a 0002:0e:00.0,tim_chnk_slots=1023
- ``TIM enable arm/cancel statistics``
event timer adapter.
For example::
- -w 0002:0e:00.0,tim_stats_ena=1
+ -a 0002:0e:00.0,tim_stats_ena=1
- ``TIM limit max rings reserved``
rings.
For example::
- -w 0002:0e:00.0,tim_rings_lmt=5
+ -a 0002:0e:00.0,tim_rings_lmt=5
- ``TIM ring control internal parameters``
default values.
For Example::
- -w 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
+ -a 0002:0e:00.0,tim_ring_ctl=[2-1023-1-0]
- ``Lock NPA contexts in NDC``
For example::
- -w 0002:0e:00.0,npa_lock_mask=0xf
+ -a 0002:0e:00.0,npa_lock_mask=0xf
+
+- ``Force Rx Back pressure``
+
+ Force Rx back pressure when same mempool is used across ethernet device
+ connected to event device.
+
+ For example::
+
+ -a 0002:0e:00.0,force_rx_bp=1
Debugging Options
-~~~~~~~~~~~~~~~~~
+-----------------
.. _table_octeontx2_event_debug_options:
+---+------------+-------------------------------------------------------+
| 2 | TIM | --log-level='pmd\.event\.octeontx2\.timer,8' |
+---+------------+-------------------------------------------------------+
+
+Limitations
+-----------
+
+Rx adapter support
+~~~~~~~~~~~~~~~~~~
+
+Using the same mempool for all the ethernet device ports connected to
+event device would cause back pressure to be asserted only on the first
+ethernet device.
+Back pressure is automatically disabled when using same mempool for all the
+ethernet devices connected to event device to override this applications can
+use `force_rx_bp=1` device arguments.
+Using unique mempool per each ethernet device is recommended when they are
+connected to event device.