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:hemasaiper...@5g.iith.ac.in] 
Sent: Tuesday, September 3, 2019 17:48
To: Wang, Haiyue <haiyue.w...@intel.com>
Cc: us...@dpdk.org; dev@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 
<hemasaiper...@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.w...@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-boun...@dpdk.org] On Behalf Of Perugu Hemasai Chandra 
> Prasad
> Sent: Tuesday, September 3, 2019 13:00
> To: us...@dpdk.org; dev@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

Reply via email to