[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default |
Date: |
Fri, 15 Feb 2013 10:30:50 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 |
On 15/02/13 10:25, Peter Lieven wrote:
>
> Am 15.02.2013 um 10:22 schrieb Christian Borntraeger <address@hidden>:
>
>> On 15/02/13 09:27, Peter Lieven wrote:
>>> historically the kernel queues packets two times. once
>>> at the device and second in qdisc. this is believed to cause
>>> interface stalls if one of these queues overruns.
>>>
>>> setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the
>>> flag is ignored since then. see kernel commit
>>> 5d097109257c03a71845729f8db6b5770c4bbedc
>>>
>>> Signed-off-by: Peter Lieven <address@hidden>
>>> ---
>>> net/tap-linux.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/net/tap-linux.c b/net/tap-linux.c
>>> index a953189..2759b78 100644
>>> --- a/net/tap-linux.c
>>> +++ b/net/tap-linux.c
>>> @@ -49,7 +49,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
>>> return -1;
>>> }
>>> memset(&ifr, 0, sizeof(ifr));
>>> - ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
>>> + ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE;
>>>
>>> if (*vnet_hdr) {
>>> unsigned int features;
>>
>> Wouldn't that break macvtap?
>>
>> there is
>>
>> case TUNSETIFF:
>> /* ignore the name, just look at flags */
>> if (get_user(u, &ifr->ifr_flags))
>> return -EFAULT;
>>
>> ret = 0;
>> if ((u & ~IFF_VNET_HDR) != (IFF_NO_PI | IFF_TAP))
>> ret = -EINVAL;
>>
>>
>> in drivers/net/macvtap.c
>>
>>
>
> wasn`t aware I will modify this to only be set on linux
>
> Peter
macvtap is a Linux driver. It is given to qemu usually via libvirt with
something
like -netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=22
and then having fd21 pointing to an open /dev/tap... device which is backed by
macvtap.
Christian
- Re: [Qemu-devel] tap devices not receiving packets from a bridge, (continued)
- Re: [Qemu-devel] tap devices not receiving packets from a bridge, Michael S. Tsirkin, 2013/02/12
- Re: [Qemu-devel] tap devices not receiving packets from a bridge, Michael Tokarev, 2013/02/12
- Re: [Qemu-devel] tap devices not receiving packets from a bridge, Michael S. Tsirkin, 2013/02/12
- Re: [Qemu-devel] tap devices not receiving packets from a bridge, Peter Lieven, 2013/02/12
- Re: [Qemu-devel] tap devices not receiving packets from a bridge, Michael S. Tsirkin, 2013/02/12
- [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/15
- Re: [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default, Stefan Hajnoczi, 2013/02/15
- Re: [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/15
- Re: [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default, Christian Borntraeger, 2013/02/15
- Re: [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/15
- Re: [Qemu-devel] [PATCH] tap: set IFF_ONE_QUEUE per default,
Christian Borntraeger <=
- [Qemu-devel] [PATCHv2] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/15
- Re: [Qemu-devel] [PATCHv2] tap: set IFF_ONE_QUEUE per default, Stefan Hajnoczi, 2013/02/15
- Re: [Qemu-devel] [PATCHv2] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/15
- Re: [Qemu-devel] [PATCHv2] tap: set IFF_ONE_QUEUE per default, Christian Borntraeger, 2013/02/15
- Re: [Qemu-devel] [PATCHv2] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/18
- Re: [Qemu-devel] [PATCHv2] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/25
- Re: [Qemu-devel] [PATCHv2] tap: set IFF_ONE_QUEUE per default, Christian Borntraeger, 2013/02/25
- [Qemu-devel] [PATCHv3] tap: set IFF_ONE_QUEUE per default, Peter Lieven, 2013/02/25
- Re: [Qemu-devel] [PATCHv3] tap: set IFF_ONE_QUEUE per default, Michael S. Tsirkin, 2013/02/25
- Re: [Qemu-devel] [PATCHv3] tap: set IFF_ONE_QUEUE per default, Stefan Hajnoczi, 2013/02/25