Thread (119 messages) 119 messages, 8 authors, 2018-09-10

Re: [RFC 0/4] Virtio uses DMA API for all devices

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2018-08-06 16:06:12
Also in: lkml

On Mon, Aug 06, 2018 at 08:24:06AM -0700, Christoph Hellwig wrote:
On Mon, Aug 06, 2018 at 04:36:43PM +0300, Michael S. Tsirkin wrote:
quoted
On Mon, Aug 06, 2018 at 02:32:28PM +0530, Anshuman Khandual wrote:
quoted
On 08/05/2018 05:54 AM, Michael S. Tsirkin wrote:
quoted
On Fri, Aug 03, 2018 at 08:21:26PM -0500, Benjamin Herrenschmidt wrote:
quoted
On Fri, 2018-08-03 at 22:08 +0300, Michael S. Tsirkin wrote:
quoted
quoted
quoted
quoted
Please go through these patches and review whether this approach broadly
makes sense. I will appreciate suggestions, inputs, comments regarding
the patches or the approach in general. Thank you.
Jason did some work on profiling this. Unfortunately he reports
about 4% extra overhead from this switch on x86 with no vIOMMU.
The test is rather simple, just run pktgen (pktgen_sample01_simple.sh) in
guest and measure PPS on tap on host.

Thanks
Could you supply host configuration involved please?
I wonder how much of that could be caused by Spectre mitigations
blowing up indirect function calls...

Cheers,
Ben.
I won't be surprised. If yes I suggested a way to mitigate the overhead.
Did we get better results (lower regression due to indirect calls) with
the suggested mitigation ? Just curious.
I'm referring to this:
	I wonder whether we can support map_sg and friends being NULL, then use
	that when mapping is an identity. A conditional branch there is likely
	very cheap.

I don't think anyone tried implementing this yes.
I've done something very similar in the thread I posted a few years
ago.
Right so that was before spectre where a virtual call was cheaper :(
I plan to get a version of that upstream for 4.20, but it won't
cover the virtio case, just the real direct mapping.
I guess this RFC will have to be reworked on top and performance retested.

Thanks,

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