[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] qemu/virtio-net: remove wrong s/g layout assump
Michael S. Tsirkin
[Qemu-devel] Re: [PATCH] qemu/virtio-net: remove wrong s/g layout assumptions
Tue, 24 Nov 2009 23:30:00 +0200
On Tue, Nov 24, 2009 at 03:04:47PM -0600, Anthony Liguori wrote:
> Michael S. Tsirkin wrote:
>> On Tue, Nov 24, 2009 at 01:50:25PM -0600, Anthony Liguori wrote:
>>> Michael S. Tsirkin wrote:
>>>> virtio net currently assumes that the first s/g element it gets is
>>>> always virtio net header. This is wrong.
>>>> There should be no assumption on sg boundaries. For example, the guest
>>>> should be able to put the virtio_net_hdr in the front of the skbuf data
>>>> if there is room. Get rid of this assumption, properly consume space
>>>> from iovec, always.
>>> Practically speaking, we ought to advertise a feature bit to let a
>>> kernel know that we are no longer broken.
>>> Otherwise, there are a ton of old userspaces that will break with new
>> My thinking is, first of all let's fix the bug.
>> We'll add a feature bit when or if some guest wants to use it.
>> Maybe this will be 100 years down the road when all old userspace
>> has died a natural death :)
>> Makes sense?
> I don't think it's useful to do this without adding a feature bit.
> If we don't add a feature bit, the guest kernel cannot rely on this
> behavior so it means by definition this is dead code.
It's useful because this way I won't have to maintain the fix, and it
will make it possible for guests to experiment with layouts, without
hacking qemu. If someone wants to make it a product, that's a different
Also, it might be a valid thing for a guest to say that host needs to be
fixed. Not everyone might care about running on any possible broken qemu
Finally - where do we draw the line? Does any bugfix need a feature bit?
> Anthony Liguori