Thread (38 messages) flat view 38 messages, 4 authors, 2011-05-26

Re: [PATCH V5 2/6 net-next] netdevice.h: Add zero-copy flag in netdevice

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2011-05-19 23:42:05
Also in: kvm, lkml

On Thu, May 19, 2011 at 12:42:49PM -0700, Shirley Ma wrote:
On Wed, 2011-05-18 at 10:00 -0700, Shirley Ma wrote:
quoted
On Wed, 2011-05-18 at 19:51 +0300, Michael S. Tsirkin wrote:
quoted
quoted
quoted
Yes, I agree.  I think for tcpdump, we really need to copy the
data
quoted
quoted
anyway, to avoid guest changing it in between.  So we do that
and
quoted
then
quoted
quoted
use the copy everywhere, release the old one. Hmm? 
Yes. Old one use zerocopy, new one use copy data.

Thanks
Shirley
No, that's wrong, as they might become different with a
malicious guest. As long as we copied already, lets realease
the data and have everyone use the copy. 
Ok, I will patch pskb_expand_head to test it out. 
I am patching skb_copy, skb_clone, pskb_copy, pskb_expand_head to
convert a zero-copy skb to a copy skb to avoid this kind of issue.

This overhead won't impact macvtap/vhost TX zero-copy normally.

Shirley
OK, that will handle packet socket at least in that it won't crash :)

So the requirements are
- data must be released in a timely fashion (e.g. unlike virtio-net
  tun or bridge)
- no filtering based on data (data is mapped in guest)
- SG support
- HIGHDMA support (on arches where this makes sense)
- on fast path no calls to skb_copy, skb_clone, pskb_copy,
  pskb_expand_head as these are slow

First 2 requirements are a must, all other requirements
are just dependencies to make sure zero copy will be faster
than non zero copy.

Using a new feature bit is probably the simplest approach to
this. macvtap on top of most physical NICs most likely works
correctly so it seems a bit more work than it needs to be,
but it's also the safest one I think ...

-- 
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