DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Sending and receiving on the same port at the same time, from different threads
@ 2016-01-15 16:54 Zoltan Kiss
  2016-01-15 17:33 ` Matthew Hall
  0 siblings, 1 reply; 3+ messages in thread
From: Zoltan Kiss @ 2016-01-15 16:54 UTC (permalink / raw)
  To: dev

Hi,

I've been asked this question, and I realized I'm not sure about the 
answer. In other words: can you call rte_eth_tx_burst() and 
rte_eth_tx_burst() on the same port at the same time from different 
threads? In theory it seems possible, as you still access different 
queues (an RX and a TX one), and at least taking a glance at ixgbe 
vector functions, they don't seem to use common resources while doing RX 
or TX. But I'm not sure that it's generally true, although I always 
assumed that it should be true. Have anyone seen a device where it 
wasn't true?

Regards,

Zoltan

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

* Re: [dpdk-dev] Sending and receiving on the same port at the same time, from different threads
  2016-01-15 16:54 [dpdk-dev] Sending and receiving on the same port at the same time, from different threads Zoltan Kiss
@ 2016-01-15 17:33 ` Matthew Hall
  2016-01-15 18:15   ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Hall @ 2016-01-15 17:33 UTC (permalink / raw)
  To: Zoltan Kiss; +Cc: dev

On Fri, Jan 15, 2016 at 04:54:11PM +0000, Zoltan Kiss wrote:
> Can you call rte_eth_tx_burst() and rte_eth_tx_burst() on the same port at 
> the same time from different threads?

In general, yes you can. I did this before in an L4-L7 performance tester, so 
cores could concentrate on RX or TX to keep the speeds high.

> Have anyone seen a device where it wasn't true?

Not specifically. But I didn't go looking for one either.

Matthew.

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

* Re: [dpdk-dev] Sending and receiving on the same port at the same time, from different threads
  2016-01-15 17:33 ` Matthew Hall
@ 2016-01-15 18:15   ` Stephen Hemminger
  0 siblings, 0 replies; 3+ messages in thread
From: Stephen Hemminger @ 2016-01-15 18:15 UTC (permalink / raw)
  To: Matthew Hall; +Cc: dev

On Fri, 15 Jan 2016 12:33:14 -0500
Matthew Hall <mhall@mhcomputing.net> wrote:

> On Fri, Jan 15, 2016 at 04:54:11PM +0000, Zoltan Kiss wrote:
> > Can you call rte_eth_tx_burst() and rte_eth_tx_burst() on the same port at 
> > the same time from different threads?
> 
> In general, yes you can. I did this before in an L4-L7 performance tester, so 
> cores could concentrate on RX or TX to keep the speeds high.
> 
> > Have anyone seen a device where it wasn't true?
> 
> Not specifically. But I didn't go looking for one either.
> 
> Matthew.

Same port is OK, as long as each thread uses different queues.
The device queues are not thread safe; ie two threads can't be pulling/pushing
to the same queue.

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

end of thread, other threads:[~2016-01-15 18:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-15 16:54 [dpdk-dev] Sending and receiving on the same port at the same time, from different threads Zoltan Kiss
2016-01-15 17:33 ` Matthew Hall
2016-01-15 18:15   ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).