Thread (50 messages) 50 messages, 7 authors, 2021-07-21

Re: [dpdk-dev] [PATCH v5 3/4] vhost: support async dequeue for split ring

From: David Marchand <hidden>
Date: 2021-07-16 13:52:54

On Fri, Jul 16, 2021 at 3:45 PM Hu, Jiayu [off-list ref] wrote:
quoted
- I don't like this threshold, this is too low level and most users will only see
the shiny aspect "better performance" without understanding the
consequences.
By default, it leaves the door open to a _bad_ behavior, that is packet
reordering.
At a very minimum, strongly recommend to use 0 in the API.
That's a good point. But there are some reasons of open this value to users:
- large packets will block small packets, like control packets of TCP.
- dma efficiency. We usually see 20~30% drops because of offloading 64B copies to
dma engine.
- the threshold is not only related to hardware, but also application. The value decides
which copies are assigned to which worker, the CPU or the DMA. As async vhost works
in an asynchronous way, the threshold value decides how many works can be done in
parallel. It's not only about what DMA engine and what platform we use, but also what
computation the CPU has been assigned. Different users will have different values.

I totally understand the worry about reordering. But simple iperf tests show positive
results with setting threshold in our lab. We need more careful tests before modifying
it, IMHO.
If you need more time, then please take it.
The dma generic API could have an impact on this feature too.

Why the rush for merging this now?


-- 
David Marchand
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help