[dpdk-dev] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
Wang, Haiyue
haiyue.wang at intel.com
Tue Sep 3 13:33:48 CEST 2019
Hi Hemasai
You can see the comments in code like " /* A.1 load 4 pkts desc */ ", it use vector
instruction to handle HW desc *in batch*.
And also, you can change it to non-vector function by adjust some parameters, please
refer to i40e_set_rx_function for detail, it has debug message for your reference.
BR,
Haiyue
From: Perugu Hemasai Chandra Prasad [mailto:hemasaiperugu at 5g.iith.ac.in]
Sent: Tuesday, September 3, 2019 17:48
To: Wang, Haiyue <haiyue.wang at intel.com>
Cc: users at dpdk.org; dev at dpdk.org
Subject: Re: [dpdk-dev] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
Hi Haiyue,
It is working ,thanks for your response. can you please tell what kind of performance limitation we have if RTE_I40E_DESCS_PER_LOOP value is less than 4 ?
Thanks & Regards,
Hemasai
On Tue, Sep 3, 2019 at 2:53 PM Perugu Hemasai Chandra Prasad <hemasaiperugu at 5g.iith.ac.in> wrote:
Hi,
I tried changing "RTE_I40E_DESCS_PER_LOOP" located in i40e_rxtx.h to 1 and recompiling DPDK but it didn't work. Is there any procedure to make it work for rx_burst of 1 packet?
On Tue, 3 Sep, 2019, 12:32 Wang, Haiyue, <haiyue.wang at intel.com> wrote:
Some PMD Vector Rx for performance has an hidden limitation like :
/* nb_pkts shall be less equal than RTE_I40E_MAX_RX_BURST */
nb_pkts = RTE_MIN(nb_pkts, RTE_I40E_MAX_RX_BURST);
/* nb_pkts has to be floor-aligned to RTE_I40E_DESCS_PER_LOOP */
nb_pkts = RTE_ALIGN_FLOOR(nb_pkts, RTE_I40E_DESCS_PER_LOOP); <------ ;-)
#define RTE_I40E_DESCS_PER_LOOP 4
BR,
Haiyue
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Perugu Hemasai Chandra Prasad
> Sent: Tuesday, September 3, 2019 13:00
> To: users at dpdk.org; dev at dpdk.org
> Subject: [dpdk-dev] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
>
> Hi All,
> I am trying to receive packets transmitted by another DPDK
> application running on different system. I am able to transmit packets with
> a burst value of 1 using rte_eth_tx_burst Api, but unable to receive
> packets with a burst value less than 4 using rte_eth_rx_burst Api. can
> anyone please tell me the reason behind that? Is that because of any EthDev
> configuration?. How to receive packets with a burst value of 1?
>
> Thanks & Regards,
> Hemasai
More information about the dev
mailing list