All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Vineyard <vineyard@tuffmail.com>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: "Peter Huang(Peng)" <peter.huangpeng@huawei.com>,
	kvm@vger.kernel.org, mst@redhat.com, netdev@vger.kernel.org,
	virtualization@lists.linux-foundation.org, avi@redhat.com
Subject: Re: [Question]About KVM network zero-copy  feature!
Date: Sat, 11 Aug 2012 17:54:35 -0400	[thread overview]
Message-ID: <5026D49B.10305@tuffmail.com> (raw)
In-Reply-To: <20120811135556.58ddf48d@nehalam.linuxnetplumber.net>

> On Fri, 10 Aug 2012 11:34:32 +0800
> "Peter Huang(Peng)" <peter.huangpeng@huawei.com> wrote:
>
>> I searched from git-log, and found that until now we have vhost TX zero-copy experiment feature, how
>> about RX zero-copy?

On 08/11/2012 04:55 PM, Stephen Hemminger wrote:
> There is no guarantee that packet will ever be read by receiver. This means zero-copy could
> create memory back pressure stalls.

It would be handy if this could be an optional feature, perhaps not 
enabled by default due to the problem with stalls you mentioned. I would 
love to see RX zero-copy implemented natively in KVM, as it might 
alleviate the need for custom solutions like vPF_RING:

http://www.ntop.org/products/pf_ring/vpf_ring/

Every time a packet is copied, especially from kernel space to user 
space, there is an opportunity for it to be dropped on its way to the 
receiving application - which is unacceptable when monitoring high-speed 
networks for security or bandwidth accounting purposes.

I am attempting to find a highly-efficient way to deploy virtualized 
network monitoring sensors (Snort, for example). Ideally I want to 
exploit symmetric hardware-based RSS and SR-IOV functionality for 
load-balancing and packet distribution completely in ASIC. I've found 
other existing work in this area (also using custom drivers) indicating 
significant performance gains in the non-virtualized case:

http://www.ndsl.kaist.edu/~shinae/papers/TR-symRSS.pdf

Is there any interest in exploring native RX zero-copy within the 
mainline KVM networking code?

Thanks,
Robert Vineyard

  parent reply	other threads:[~2012-08-11 21:56 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-10  3:34 [Question]About KVM network zero-copy feature! Peter Huang(Peng)
2012-08-11 20:55 ` Stephen Hemminger
2012-08-11 21:54   ` Robert Vineyard
2012-08-11 21:54   ` Robert Vineyard [this message]
2012-08-12  0:42     ` Robert Vineyard
2012-08-12  0:42       ` Robert Vineyard
2012-08-12  9:37       ` Michael S. Tsirkin
2012-08-12  9:37         ` Michael S. Tsirkin
2012-08-13  1:24         ` Peter Huang(Peng)
2012-08-13  7:18           ` Michael S. Tsirkin
2012-08-13  3:45         ` Robert Vineyard
2012-08-13  3:45           ` Robert Vineyard
2012-08-13  5:59           ` Robert Vineyard
2012-08-13  5:59           ` Robert Vineyard
  -- strict thread matches above, loose matches on Subject: below --
2012-08-10  3:34 Peter Huang(Peng)

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=5026D49B.10305@tuffmail.com \
    --to=vineyard@tuffmail.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=peter.huangpeng@huawei.com \
    --cc=shemminger@vyatta.com \
    --cc=virtualization@lists.linux-foundation.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.