From: Ben Hutchings <bhutchings@solarflare.com>
To: Herbert Xu <herbert@gondor.hengli.com.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
"Xin, Xiaohui" <xiaohui.xin@intel.com>,
Stephen Hemminger <shemminger@vyatta.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"mingo@elte.hu" <mingo@elte.hu>,
"davem@davemloft.net" <davem@davemloft.net>,
"jdike@linux.intel.com" <jdike@linux.intel.com>,
Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: [RFC PATCH v7 01/19] Add a new structure for skb buffer from external.
Date: Sun, 20 Jun 2010 16:19:14 +0100 [thread overview]
Message-ID: <1277047154.14011.880.camel@localhost> (raw)
In-Reply-To: <20100620115926.GA31849@gondor.apana.org.au>
On Sun, 2010-06-20 at 21:59 +1000, Herbert Xu wrote:
> On Sun, Jun 20, 2010 at 02:47:19PM +0300, Michael S. Tsirkin wrote:
> >
> > Let's do this then. So far the virtio spec avoided making layout
> > assumptions, leaving guests lay out data as they see fit.
> > Isn't it possible to keep supporting this with zero copy for hardware
> > that can issue DMA at arbitrary addresses?
>
> I think you're mistaken with respect to what is being proposed.
> Raising 512 bytes isn't a hard constraint, it is merely an
> optimisation for Intel NICs because their PS mode can produce
> a head fragment of up to 512 bytes.
>
> If the guest didn't allocate 512 bytes it wouldn't be the end of
> the world, it'd just mean that we'd either copy whatever is in
> the head fragment, or we waste 4096-X bytes of memory where X
> is the number of bytes in the head.
If I understand correctly what this 'PS mode' is (I haven't seen the
documentation for it), it is a feature that Microsoft requested from
hardware vendors for use in Hyper-V. As a result, the SFC9000 family
and presumably other controllers also implement something similar.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
WARNING: multiple messages have this Message-ID (diff)
From: Ben Hutchings <bhutchings@solarflare.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
"Xin, Xiaohui" <xiaohui.xin@intel.com>,
Stephen Hemminger <shemminger@vyatta.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"mingo@elte.hu" <mingo@elte.hu>,
"davem@davemloft.net" <davem@davemloft.net>,
"jdike@linux.intel.com" <jdike@linux.intel.com>,
Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: [RFC PATCH v7 01/19] Add a new structure for skb buffer from external.
Date: Sun, 20 Jun 2010 16:19:14 +0100 [thread overview]
Message-ID: <1277047154.14011.880.camel@localhost> (raw)
In-Reply-To: <20100620115926.GA31849@gondor.apana.org.au>
On Sun, 2010-06-20 at 21:59 +1000, Herbert Xu wrote:
> On Sun, Jun 20, 2010 at 02:47:19PM +0300, Michael S. Tsirkin wrote:
> >
> > Let's do this then. So far the virtio spec avoided making layout
> > assumptions, leaving guests lay out data as they see fit.
> > Isn't it possible to keep supporting this with zero copy for hardware
> > that can issue DMA at arbitrary addresses?
>
> I think you're mistaken with respect to what is being proposed.
> Raising 512 bytes isn't a hard constraint, it is merely an
> optimisation for Intel NICs because their PS mode can produce
> a head fragment of up to 512 bytes.
>
> If the guest didn't allocate 512 bytes it wouldn't be the end of
> the world, it'd just mean that we'd either copy whatever is in
> the head fragment, or we waste 4096-X bytes of memory where X
> is the number of bytes in the head.
If I understand correctly what this 'PS mode' is (I haven't seen the
documentation for it), it is a feature that Microsoft requested from
hardware vendors for use in Hyper-V. As a result, the SFC9000 family
and presumably other controllers also implement something similar.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
next prev parent reply other threads:[~2010-06-20 15:19 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-05 10:14 [RFC PATCH v7 01/19] Add a new structure for skb buffer from external xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 02/19] Add a new struct for device to manipulate external buffer xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 03/19] Export 2 func for device to assign/deassign new strucure xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 04/19] Add a ndo_mp_port_prep pointer to net_device_ops xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 05/19] Add a function make external buffer owner to query capability xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 06/19] Add a function to indicate if device use external buffer xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 07/19] Add interface to get external buffers xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 08/19] Make __alloc_skb() to get external buffer xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 09/19] Ignore room skb_reserve() when device is using " xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 10/19] Don't do skb recycle, if device use " xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 11/19] Use callback to deal with skb_release_data() specially xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 12/19] Add a hook to intercept external buffers from NIC driver xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 13/19] To skip GRO if buffer is external currently xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 14/19] Add header file for mp device xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 15/19] Add basic funcs and ioctl to " xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 16/19] Manipulate external buffers in " xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 17/19] Export proto_ops to vhost-net driver xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 18/19] Add a kconfig entry and make entry for mp device xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 19/19] Provides multiple submits and asynchronous notifications xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 10:14 ` [RFC PATCH v7 00/19] Provide a zero-copy method on KVM virtio-net xiaohui.xin
2010-06-05 10:14 ` xiaohui.xin
2010-06-05 14:56 ` [RFC PATCH v7 11/19] Use callback to deal with skb_release_data() specially Eric Dumazet
2010-06-05 14:56 ` Eric Dumazet
2010-06-09 7:30 ` Xin, Xiaohui
2010-06-09 7:30 ` Xin, Xiaohui
2010-06-05 14:53 ` [RFC PATCH v7 08/19] Make __alloc_skb() to get external buffer Eric Dumazet
2010-06-05 14:53 ` Eric Dumazet
2010-06-09 7:34 ` Xin, Xiaohui
2010-06-09 7:34 ` Xin, Xiaohui
2010-06-05 14:51 ` [RFC PATCH v7 03/19] Export 2 func for device to assign/deassign new strucure Eric Dumazet
2010-06-05 14:51 ` Eric Dumazet
2010-06-06 23:13 ` [RFC PATCH v7 01/19] Add a new structure for skb buffer from external Stephen Hemminger
2010-06-06 23:13 ` Stephen Hemminger
2010-06-07 7:51 ` Andi Kleen
2010-06-07 7:51 ` Andi Kleen
2010-06-07 8:17 ` Mitchell Erblich
2010-06-07 8:17 ` Mitchell Erblich
2010-06-09 9:22 ` Xin, Xiaohui
2010-06-09 9:22 ` Xin, Xiaohui
2010-06-09 8:48 ` Xin, Xiaohui
2010-06-09 8:48 ` Xin, Xiaohui
2010-06-08 5:27 ` Herbert Xu
2010-06-08 5:27 ` Herbert Xu
2010-06-09 9:54 ` Xin, Xiaohui
2010-06-09 9:54 ` Xin, Xiaohui
2010-06-11 5:21 ` Herbert Xu
2010-06-11 5:21 ` Herbert Xu
2010-06-12 9:31 ` Xin, Xiaohui
2010-06-12 9:31 ` Xin, Xiaohui
2010-06-13 8:58 ` Xin, Xiaohui
2010-06-13 8:58 ` Xin, Xiaohui
2010-06-17 11:21 ` Herbert Xu
2010-06-17 11:21 ` Herbert Xu
2010-06-18 5:26 ` Xin, Xiaohui
2010-06-18 5:26 ` Xin, Xiaohui
2010-06-18 5:59 ` Herbert Xu
2010-06-18 5:59 ` Herbert Xu
2010-06-18 7:14 ` Xin, Xiaohui
2010-06-18 7:14 ` Xin, Xiaohui
2010-06-18 7:45 ` Herbert Xu
2010-06-18 7:45 ` Herbert Xu
2010-06-20 10:06 ` Michael S. Tsirkin
2010-06-20 10:32 ` Herbert Xu
2010-06-20 10:32 ` Herbert Xu
2010-06-20 10:39 ` Michael S. Tsirkin
2010-06-20 11:02 ` Herbert Xu
2010-06-20 11:02 ` Herbert Xu
2010-06-20 11:11 ` Michael S. Tsirkin
2010-06-20 11:36 ` Herbert Xu
2010-06-20 11:36 ` Herbert Xu
2010-06-20 11:47 ` Michael S. Tsirkin
2010-06-20 11:59 ` Herbert Xu
2010-06-20 11:59 ` Herbert Xu
2010-06-20 12:48 ` Michael S. Tsirkin
2010-06-20 15:19 ` Ben Hutchings [this message]
2010-06-20 15:19 ` Ben Hutchings
2010-06-23 8:09 ` Dong, Eddie
2010-06-23 8:09 ` Dong, Eddie
2010-06-23 9:52 ` Herbert Xu
2010-06-23 9:52 ` Herbert Xu
2010-06-23 10:05 ` Dong, Eddie
2010-06-23 10:05 ` Dong, Eddie
2010-06-24 10:08 ` Herbert Xu
2010-06-24 10:08 ` Herbert Xu
2010-06-25 1:03 ` Dong, Eddie
2010-06-25 1:03 ` Dong, Eddie
2010-06-25 11:06 ` Michael S. Tsirkin
2010-06-27 6:14 ` Herbert Xu
2010-06-27 6:14 ` Herbert Xu
2010-06-28 9:56 ` Xin, Xiaohui
2010-06-28 9:56 ` Xin, Xiaohui
2010-06-28 10:00 ` Michael S. Tsirkin
2010-07-03 9:12 ` Herbert Xu
2010-07-03 9:12 ` Herbert Xu
2010-06-25 2:07 ` Xin, Xiaohui
2010-06-25 2:07 ` Xin, Xiaohui
2010-06-17 11:20 ` Herbert Xu
2010-06-17 11:20 ` Herbert Xu
2010-06-09 8:29 ` Xin, Xiaohui
2010-06-09 8:29 ` Xin, Xiaohui
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=1277047154.14011.880.camel@localhost \
--to=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.hengli.com.au \
--cc=jdike@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=shemminger@vyatta.com \
--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 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.