X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fenic.rst;h=4e7629c5cd69f2264b7f2fabbb1eecdbc640387a;hb=cb299214a6cfa5b3bf4fdddf369ef028ae376c27;hp=a28a7f4e477a201324c9ddb5b5c9f9098a0862dd;hpb=3d4b2afb73f7f0988f8e66ba1b37f2a446e33868;p=dpdk.git diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst index a28a7f4e47..4e7629c5cd 100644 --- a/doc/guides/nics/enic.rst +++ b/doc/guides/nics/enic.rst @@ -20,13 +20,6 @@ should be downloaded from https://core.dpdk.org/download/ Configuration information ------------------------- -- **DPDK Configuration Parameters** - - The following configuration options are available for the ENIC PMD: - - - **CONFIG_RTE_LIBRTE_ENIC_PMD** (default y): Enables or disables inclusion - of the ENIC PMD driver in the DPDK compilation. - - **vNIC Configuration Parameters** - **Number of Queues** @@ -187,7 +180,7 @@ or ``vfio`` in non-IOMMU mode. In the VM, the kernel enic driver may be automatically bound to the VF during boot. Unbinding it currently hangs due to a known issue with the driver. To -work around the issue, blacklist the enic module as follows. +work around the issue, block the enic module as follows. Please see :ref:`Limitations ` for limitations in the use of SR-IOV. @@ -312,7 +305,7 @@ enables overlay offload, it prints the following message on the console. By default, PMD enables overlay offload if hardware supports it. To disable it, set ``devargs`` parameter ``disable-overlay=1``. For example:: - -w 12:00.0,disable-overlay=1 + -a 12:00.0,disable-overlay=1 By default, the NIC uses 4789 as the VXLAN port. The user may change it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as @@ -378,7 +371,7 @@ vectorized handler, take the following steps. PMD consider the vectorized handler when selecting the receive handler. For example:: - -w 12:00.0,enable-avx2-rx=1 + -a 12:00.0,enable-avx2-rx=1 As the current implementation is intended for field trials, by default, the vectorized handler is not considered (``enable-avx2-rx=0``). @@ -395,6 +388,31 @@ vectorized handler is selected, enable debug logging enic_use_vector_rx_handler use the non-scatter avx2 Rx handler +64B Completion Queue Entry +-------------------------- + +Recent VIC adapters support 64B completion queue entries, as well as +16B entries that are available on all adapter models. ENIC PMD enables +and uses 64B entries by default, if available. 64B entries generally +lower CPU cycles per Rx packet, as they avoid partial DMA writes and +reduce cache contention between DMA and polling CPU. The effect is +most pronounced when multiple Rx queues are used on Intel platforms +with Data Direct I/O Technology (DDIO). + +If 64B entries are not available, PMD uses 16B entries. The user may +explicitly disable 64B entries and use 16B entries by setting +``devarg`` parameter ``cq64=0``. For example:: + + -a 12:00.0,cq64=0 + +To verify the selected entry size, enable debug logging +(``--log-level=enic,debug``) and check the following messages. + +.. code-block:: console + + PMD: rte_enic_pmd: Supported CQ entry sizes: 16 32 + PMD: rte_enic_pmd: Using 16B CQ entry size + .. _enic_limitations: Limitations @@ -427,7 +445,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the ``devargs`` parameter ``ig-vlan-rewrite=untag``. For example:: - -w 12:00.0,ig-vlan-rewrite=untag + -a 12:00.0,ig-vlan-rewrite=untag - **SR-IOV** @@ -437,7 +455,7 @@ PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the - VF devices are not usable directly from the host. They can only be used as assigned devices on VM instances. - Currently, unbind of the ENIC kernel mode driver 'enic.ko' on the VM - instance may hang. As a workaround, enic.ko should be blacklisted or removed + instance may hang. As a workaround, enic.ko should be blocked or removed from the boot process. - pci_generic cannot be used as the uio module in the VM. igb_uio or vfio in non-IOMMU mode can be used. @@ -583,11 +601,6 @@ The value depends on the memory configuration of the application, DPDK and PMD. Typically, the limit has to be raised to higher than 2GB. e.g., 2621440 -The compilation of any unused drivers can be disabled using the -configuration file in config/ directory (e.g., config/common_linux). -This would help in bringing down the time taken for building the -libraries and the initialization time of the application. - Additional Reference --------------------