netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: netdev@vger.kernel.org, xen-devel <xen-devel@lists.xensource.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	mashirle@us.ibm.com
Subject: Re: SKB paged fragment lifecycle on receive
Date: Sun, 26 Jun 2011 13:25:44 +0300	[thread overview]
Message-ID: <20110626102543.GA4961@redhat.com> (raw)
In-Reply-To: <1308930202.32717.144.camel@zakaz.uk.xensource.com>

On Fri, Jun 24, 2011 at 04:43:22PM +0100, Ian Campbell wrote:
> In this mode guest data pages ("foreign pages") were mapped into the
> backend domain (using Xen grant-table functionality) and placed into the
> skb's paged frag list (skb_shinfo(skb)->frags, I hope I am using the
> right term). Once the page is finished with netback unmaps it in order
> to return it to the guest (we really want to avoid returning such pages
> to the general allocation pool!).

Are the pages writeable by the source guest while netback processes
them?  If yes, firewalling becomes unreliable as the packet can be
modified after it's checked, right?
Also, for guest to guest communication, do you wait for
the destination to stop looking at the packet in order
to return it to the source? If yes, can source guest
networking be disrupted by a slow destination?


> Jeremy Fitzhardinge and I subsequently
> looked at the possibility of a no-clone skb flag (i.e. always forcing a
> copy instead of a clone)

I think this is the approach that the patchset
'macvtap/vhost TX zero-copy support' takes.

> but IIRC honouring it universally turned into a
> very twisty maze with a number of nasty corner cases etc.

Any examples? Are they covered by the patchset above?

> FWIW I proposed a session on the subject for LPC this year.
We also plan to discuss this on kvm forum 2011
(colocated with linuxcon 2011).
http://www.linux-kvm.org/page/KVM_Forum_2011

-- 
MST

  parent reply	other threads:[~2011-06-26 10:25 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-24 15:43 SKB paged fragment lifecycle on receive Ian Campbell
2011-06-24 17:29 ` Jeremy Fitzhardinge
2011-06-24 17:56   ` Eric Dumazet
2011-06-24 18:21     ` Jeremy Fitzhardinge
2011-06-24 19:46       ` David Miller
2011-06-24 20:11         ` Jeremy Fitzhardinge
2011-06-24 20:27           ` David Miller
2011-06-25 11:58           ` Ian Campbell
2011-06-27 20:51             ` Jeremy Fitzhardinge
2011-06-28 10:25               ` Ian Campbell
2011-06-27 14:42     ` Ian Campbell
2011-06-27 22:49       ` David Miller
2011-06-28 10:24         ` Ian Campbell
2011-06-24 22:44   ` Ian Campbell
2011-06-24 22:48     ` Jeremy Fitzhardinge
2011-06-26 10:25 ` Michael S. Tsirkin [this message]
2011-06-27  9:41   ` Ian Campbell
2011-06-27 10:21     ` Michael S. Tsirkin
2011-06-27 10:54       ` Ian Campbell
2011-06-27 11:19         ` 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=20110626102543.GA4961@redhat.com \
    --to=mst@redhat.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=jeremy@goop.org \
    --cc=mashirle@us.ibm.com \
    --cc=netdev@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=xen-devel@lists.xensource.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).