From: "Michael S. Tsirkin" <mst@redhat.com>
To: xiaohui.xin@intel.com
Cc: netdev@vger.kernel.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, mingo@elte.hu,
jdike@c2.user-mode-linux.org
Subject: Re: [PATCH v1 0/3] Provide a zero-copy method on KVM virtio-net.
Date: Sun, 7 Mar 2010 12:50:31 +0200 [thread overview]
Message-ID: <20100307105031.GA20004@redhat.com> (raw)
In-Reply-To: <1267868318-19268-1-git-send-email-xiaohui.xin@intel.com>
On Sat, Mar 06, 2010 at 05:38:35PM +0800, xiaohui.xin@intel.com wrote:
> The idea is simple, just to pin the guest VM user space and then
> let host NIC driver has the chance to directly DMA to it.
> The patches are based on vhost-net backend driver. We add a device
> which provides proto_ops as sendmsg/recvmsg to vhost-net to
> send/recv directly to/from the NIC driver. KVM guest who use the
> vhost-net backend may bind any ethX interface in the host side to
> get copyless data transfer thru guest virtio-net frontend.
>
> We provide multiple submits and asynchronous notifiicaton to
> vhost-net too.
>
> Our goal is to improve the bandwidth and reduce the CPU usage.
> Exact performance data will be provided later. But for simple
> test with netperf, we found bindwidth up and CPU % up too,
> but the bindwidth up ratio is much more than CPU % up ratio.
>
> What we have not done yet:
> packet split support
> To support GRO
> Performance tuning
Am I right to say that nic driver needs changes for these patches
to work? If so, please publish nic driver patches as well.
> what we have done in v1:
> polish the RCU usage
> deal with write logging in asynchroush mode in vhost
> add notifier block for mp device
> rename page_ctor to mp_port in netdevice.h to make it looks generic
> add mp_dev_change_flags() for mp device to change NIC state
> add CONIFG_VHOST_MPASSTHRU to limit the usage when module is not load
> a small fix for missing dev_put when fail
> using dynamic minor instead of static minor number
> a __KERNEL__ protect to mp_get_sock()
>
> performance:
> using netperf with GSO/TSO disabled, 10G NIC,
> disabled packet split mode, with raw socket case compared to vhost.
>
> bindwidth will be from 1.1Gbps to 1.7Gbps
> CPU % from 120%-140% to 140%-160%
That's pretty low for a 10Gb nic. Are you hitting some other bottleneck,
like high interrupt rate? Also, GSO support and performance tuning
for raw are incomplete. Try comparing with e.g. tap with GSO.
--
MST
next parent reply other threads:[~2010-03-07 10:50 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1267868318-19268-1-git-send-email-xiaohui.xin@intel.com>
2010-03-07 10:50 ` Michael S. Tsirkin [this message]
2010-03-09 7:47 ` [PATCH v1 0/3] Provide a zero-copy method on KVM virtio-net Xin, Xiaohui
[not found] ` <1267868318-19268-2-git-send-email-xiaohui.xin@intel.com>
[not found] ` <1267868318-19268-3-git-send-email-xiaohui.xin@intel.com>
2010-03-07 11:18 ` [PATCH v1 2/3] Provides multiple submits and asynchronous notifications Michael S. Tsirkin
2010-03-15 8:46 ` Xin, Xiaohui
2010-03-15 9:23 ` Michael S. Tsirkin
2010-03-16 9:32 ` Xin Xiaohui
2010-03-16 11:33 ` [PATCH " Michael S. Tsirkin
2010-03-17 9:48 ` Xin, Xiaohui
2010-03-17 10:27 ` Michael S. Tsirkin
2010-04-01 9:14 ` Xin Xiaohui
2010-04-01 11:02 ` [PATCH " Michael S. Tsirkin
2010-04-02 2:16 ` Xin, Xiaohui
2010-04-04 11:40 ` Michael S. Tsirkin
2010-04-06 5:46 ` Xin, Xiaohui
2010-04-06 7:51 ` Michael S. Tsirkin
2010-04-07 1:36 ` Xin, Xiaohui
2010-04-07 8:18 ` Michael S. Tsirkin
2010-04-08 9:07 ` xiaohui.xin
[not found] ` <1267868318-19268-4-git-send-email-xiaohui.xin@intel.com>
2010-03-06 17:18 ` [PATCH v1 3/3] Let host NIC driver to DMA to guest user space Stephen Hemminger
2010-03-08 11:18 ` Michael S. Tsirkin
2010-03-08 11:28 ` [PATCH v1 1/3] A device for zero-copy based on KVM virtio-net Michael S. Tsirkin
2010-04-01 9:27 ` Xin Xiaohui
2010-04-01 11:08 ` [PATCH " Michael S. Tsirkin
2010-04-06 5:41 ` Xin, Xiaohui
2010-04-06 7:49 ` Michael S. Tsirkin
2010-04-07 2:41 ` Xin, Xiaohui
2010-04-07 8:15 ` Michael S. Tsirkin
2010-04-07 9:00 ` xiaohui.xin
2010-04-07 11:17 ` [PATCH " Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100307105031.GA20004@redhat.com \
--to=mst@redhat.com \
--cc=jdike@c2.user-mode-linux.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=netdev@vger.kernel.org \
--cc=xiaohui.xin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).