[Top][All Lists]
[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
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH] qemu/virtio-net: remove wrong s/g layout assumptions |
Date: |
Tue, 24 Nov 2009 23:30:00 +0200 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
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
>>> guests.
>>>
>>
>> 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
thing.
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
version.
Finally - where do we draw the line? Does any bugfix need a feature bit?
> --
> Regards,
>
> Anthony Liguori