From: Morten Brørup Date: Mon, 14 Sep 2020 11:05:11 +0000 (+0200) Subject: ethdev: document Rx packet number requirement for vector Rx X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=4def9a8281de935aa2c8918912b40e2e9e39a2c9;p=dpdk.git ethdev: document Rx packet number requirement for vector Rx Updated description of rte_eth_rx_burst() to reflect what drivers, when using vector instructions, expect from nb_pkts. Also discussed on the mailing list here: http://inbox.dpdk.org/dev/98CBD80474FA8B44BF855DF32C47DC35C61257@smartserver.smartshare.dk/ Signed-off-by: Morten Brørup Acked-by: Ajit Khaparde Acked-by: Bruce Richardson --- diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index d9679a0e1c..69fc9733ea 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -4803,6 +4803,10 @@ int rte_eth_dev_hairpin_capability_get(uint16_t port_id, * burst-oriented optimizations in both synchronous and asynchronous * packet processing environments with no overhead in both cases. * + * @note + * Some drivers using vector instructions require that *nb_pkts* is + * divisible by 4 or 8, depending on the driver implementation. + * * The rte_eth_rx_burst() function does not provide any error * notification to avoid the corresponding overhead. As a hint, the * upper-level application might check the status of the device link once @@ -4819,6 +4823,7 @@ int rte_eth_dev_hairpin_capability_get(uint16_t port_id, * must be large enough to store *nb_pkts* pointers in it. * @param nb_pkts * The maximum number of packets to retrieve. + * The value must be divisible by 8 in order to work with any driver. * @return * The number of packets actually retrieved, which is the number * of pointers to *rte_mbuf* structures effectively supplied to the