netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH V2 0/5] macvtap TX zero copy between guest and host kernel
@ 2010-12-10  9:51 Shirley Ma
  2010-12-10 10:16 ` Shirley Ma
  2011-02-14 13:09 ` Michael S. Tsirkin
  0 siblings, 2 replies; 4+ messages in thread
From: Shirley Ma @ 2010-12-10  9:51 UTC (permalink / raw)
  To: Avi Kivity, Arnd Bergmann, mst; +Cc: xiaohui.xin, netdev, kvm, linux-kernel

This patchset add supports for TX zero-copy between guest and host
kernel through vhost. It significantly reduces CPU utilization on the
local host on which the guest is located (It reduced 30-50% CPU usage
for vhost thread for single stream test). The patchset is based on
previous submission and comments from the community regarding when/how
to handle guest kernel buffers to be released. This is the simplest
approach I can think of after comparing with several other solutions.

This patchset includes:

1. Induce a new sock zero-copy flag, SOCK_ZEROCOPY;

2. Induce a new device flag, NETIF_F_ZEROCOPY for device can support
zero-copy;

3. Add a new struct skb_ubuf_info in skb_share_info for userspace
buffers release callback when device DMA has done for that skb;

4. Add vhost zero-copy callback in vhost when skb last refcnt is gone;
   add vhost_zerocopy_add_used_and_signal to notify guest to release TX
skb buffers.

5. Add macvtap zero-copy in lower device when sending packet is greater
than 128 bytes.

The patchset has passed netperf/netserver test on Chelsio, and
continuing test on other 10GbE NICs, like Intel ixgbe, Mellanox mlx4...
I will provide guest to host, host to guest performance data next week.

However when running stress test, vhost & virtio_net seems out of sync,
and virito_net interrupt was disabled somehow, and it stopped to send
any packet. This problem has bothered me for a long long time, I will
continue to look at this.

Please review this.

Thanks
Shirley

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

end of thread, other threads:[~2011-02-14 23:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-10  9:51 [RFC PATCH V2 0/5] macvtap TX zero copy between guest and host kernel Shirley Ma
2010-12-10 10:16 ` Shirley Ma
2011-02-14 13:09 ` Michael S. Tsirkin
2011-02-14 23:06   ` Shirley Ma

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