On Fri, Jul 16, 2021 at 3:45 PM Hu, Jiayu <jiayu...@intel.com> wrote: > > - 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