DPDK usage discussions
 help / color / Atom feed
* [dpdk-users] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
@ 2019-09-03  5:00 Perugu Hemasai Chandra Prasad
  2019-09-03  7:02 ` [dpdk-users] [dpdk-dev] " Wang, Haiyue
  0 siblings, 1 reply; 5+ messages in thread
From: Perugu Hemasai Chandra Prasad @ 2019-09-03  5:00 UTC (permalink / raw)
  To: users, dev

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] [dpdk-dev] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
  2019-09-03  5:00 [dpdk-users] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding Perugu Hemasai Chandra Prasad
@ 2019-09-03  7:02 ` " Wang, Haiyue
  2019-09-03  9:23   ` Perugu Hemasai Chandra Prasad
  0 siblings, 1 reply; 5+ messages in thread
From: Wang, Haiyue @ 2019-09-03  7:02 UTC (permalink / raw)
  To: Perugu Hemasai Chandra Prasad, users, dev

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@dpdk.org] On Behalf Of Perugu Hemasai Chandra Prasad
> Sent: Tuesday, September 3, 2019 13:00
> To: users@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] [dpdk-dev] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
  2019-09-03  7:02 ` [dpdk-users] [dpdk-dev] " Wang, Haiyue
@ 2019-09-03  9:23   ` Perugu Hemasai Chandra Prasad
  2019-09-03  9:47     ` Perugu Hemasai Chandra Prasad
  0 siblings, 1 reply; 5+ messages in thread
From: Perugu Hemasai Chandra Prasad @ 2019-09-03  9:23 UTC (permalink / raw)
  To: Wang, Haiyue; +Cc: users, dev

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@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@dpdk.org] On Behalf Of Perugu Hemasai
> Chandra Prasad
> > Sent: Tuesday, September 3, 2019 13:00
> > To: users@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
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] [dpdk-dev] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
  2019-09-03  9:23   ` Perugu Hemasai Chandra Prasad
@ 2019-09-03  9:47     ` Perugu Hemasai Chandra Prasad
  2019-09-03 11:33       ` Wang, Haiyue
  0 siblings, 1 reply; 5+ messages in thread
From: Perugu Hemasai Chandra Prasad @ 2019-09-03  9:47 UTC (permalink / raw)
  To: Wang, Haiyue; +Cc: users, dev

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@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@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@dpdk.org] On Behalf Of Perugu Hemasai
>> Chandra Prasad
>> > Sent: Tuesday, September 3, 2019 13:00
>> > To: users@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
>>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] [dpdk-dev] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding.
  2019-09-03  9:47     ` Perugu Hemasai Chandra Prasad
@ 2019-09-03 11:33       ` Wang, Haiyue
  0 siblings, 0 replies; 5+ messages in thread
From: Wang, Haiyue @ 2019-09-03 11:33 UTC (permalink / raw)
  To: Perugu Hemasai Chandra Prasad; +Cc: users, dev

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-03  5:00 [dpdk-users] unable to receive packets less than 4 with rte_eth_rx_burst Api -regarding Perugu Hemasai Chandra Prasad
2019-09-03  7:02 ` [dpdk-users] [dpdk-dev] " Wang, Haiyue
2019-09-03  9:23   ` Perugu Hemasai Chandra Prasad
2019-09-03  9:47     ` Perugu Hemasai Chandra Prasad
2019-09-03 11:33       ` Wang, Haiyue

DPDK usage discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/ public-inbox