From: Rusty Russell <rusty@rustcorp•com.au>
To: "Michael S. Tsirkin" <mst@redhat•com>,
"David S. Miller" <davem@davemloft•net>,
Jason Wang <jasowang@redhat•com>, Cong Wang <amwang@redhat•com>,
Amos Kong <akong@redhat•com>, Dave Jones <davej@redhat•com>,
virtualization@lists•linux-foundation.org,
netdev@vger•kernel.org, linux-kernel@vger•kernel.org
Cc: qemu-devel@nongnu•org
Subject: Re: [PATCH] virtio-net: put virtio net header inline with data
Date: Fri, 07 Jun 2013 11:42:43 +0930 [thread overview]
Message-ID: <87hahar7ms.fsf@rustcorp.com.au> (raw)
In-Reply-To: <20130606095456.GA7865@redhat.com>
"Michael S. Tsirkin" <mst@redhat•com> writes:
> For small packets we can simplify xmit processing by linearizing buffers
> with the header: most packets seem to have enough head room we can use
> for this purpose.
>
> Since some older hypervisors (e.g. qemu before version 1.5)
> required that header is the first s/g element,
> we need a feature bit for this.
OK, we know this is horrible. But I will sleep better knowing that we
this feature need never make it into a final 1.0 spec, since it can be
assumed at that point...
> pr_debug("%s: xmit %p %pM\n", vi->dev->name, skb, dest);
> + if (vi->mergeable_rx_bufs)
> + hdr_len = sizeof hdr->mhdr;
> + else
> + hdr_len = sizeof hdr->hdr;
> +
> + can_push = vi->any_header_sg &&
> + !((unsigned long)skb->data & (__alignof__(*hdr) - 1)) &&
> + !skb_header_cloned(skb) && skb_headroom(skb) >= hdr_len;
Idle thought: how often does this fail? Would it suck if we copied
headers which didn't let us prepend data? Or could we bump
dev->hard_header_len appropriately?
Thanks,
Rusty.
next prev parent reply other threads:[~2013-06-07 2:12 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-06 9:55 [PATCH] virtio-net: put virtio net header inline with data Michael S. Tsirkin
2013-06-06 19:59 ` [Qemu-devel] " Jesse Larrew
2013-06-06 20:09 ` Dave Jones
2013-06-06 20:18 ` Jesse Larrew
2013-06-07 2:12 ` Rusty Russell [this message]
2013-06-09 7:11 ` Michael S. Tsirkin
2013-06-07 2:52 ` Jason Wang
2013-06-09 6:52 ` Michael S. Tsirkin
-- strict thread matches above, loose matches on Subject: below --
2013-07-08 10:12 Michael S. Tsirkin
2013-07-09 2:16 ` Rusty Russell
2013-07-09 5:18 ` Michael S. Tsirkin
2013-07-09 8:08 ` Rusty Russell
2013-07-10 4:38 ` David Miller
2013-07-15 1:43 ` Rusty Russell
2013-07-16 19:33 ` David Miller
2013-07-17 0:08 ` Rusty Russell
2013-07-17 5:00 ` Michael S. Tsirkin
2013-07-17 5:05 ` David Miller
2013-07-17 6:02 ` Rusty Russell
2013-07-24 19:44 ` Michael S. Tsirkin
2013-07-10 6:14 ` Michael S. Tsirkin
2013-07-15 1:40 ` Rusty Russell
2013-07-11 13:00 ` Michael S. Tsirkin
2013-07-12 5:57 ` Rusty Russell
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=87hahar7ms.fsf@rustcorp.com.au \
--to=rusty@rustcorp$(echo .)com.au \
--cc=akong@redhat$(echo .)com \
--cc=amwang@redhat$(echo .)com \
--cc=davej@redhat$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=jasowang@redhat$(echo .)com \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=mst@redhat$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=qemu-devel@nongnu$(echo .)org \
--cc=virtualization@lists$(echo .)linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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