[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/12] Multiqueue virtio-net
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH 00/12] Multiqueue virtio-net |
Date: |
Wed, 16 Jan 2013 10:14:33 -0600 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
"Michael S. Tsirkin" <address@hidden> writes:
> On Wed, Jan 16, 2013 at 09:09:49AM -0600, Anthony Liguori wrote:
>> Jason Wang <address@hidden> writes:
>>
>> > On 01/15/2013 03:44 AM, Anthony Liguori wrote:
>> >> Jason Wang <address@hidden> writes:
>> >>
>> >>> Hello all:
>> >>>
>> >>> This seires is an update of last version of multiqueue virtio-net
>> >>> support.
>> >>>
>> >>> Recently, linux tap gets multiqueue support. This series implements basic
>> >>> support for multiqueue tap, nic and vhost. Then use it as an
>> >>> infrastructure to
>> >>> enable the multiqueue support for virtio-net.
>> >>>
>> >>> Both vhost and userspace multiqueue were implemented for virtio-net, but
>> >>> userspace could be get much benefits since dataplane like parallized
>> >>> mechanism
>> >>> were not implemented.
>> >>>
>> >>> User could start a multiqueue virtio-net card through adding a "queues"
>> >>> parameter to tap.
>> >>>
>> >>> ./qemu -netdev tap,id=hn0,queues=2,vhost=on -device
>> >>> virtio-net-pci,netdev=hn0
>> >>>
>> >>> Management tools such as libvirt can pass multiple pre-created fds
>> >>> through
>> >>>
>> >>> ./qemu -netdev tap,id=hn0,queues=2,fd=X,fd=Y -device
>> >>> virtio-net-pci,netdev=hn0
>> >> I'm confused/frightened that this syntax works. You shouldn't be
>> >> allowed to have two values for the same property. Better to have a
>> >> syntax like fd[0]=X,fd[1]=Y or something along those lines.
>> >
>> > Yes, but this what current a StringList type works for command line.
>> > Some other parameters such as dnssearch, hostfwd and guestfwd have
>> > already worked in this way. Looks like your suggestions need some
>> > extension on QemuOps visitor, maybe we can do this on top.
>>
>> It's a silly syntax and breaks compatibility. This is valid syntax:
>>
>> -net tap,fd=3,fd=4
>>
>> In this case, it means 'fd=4' because the last fd overwrites the first
>> one.
>>
>> Now you've changed it to mean something else. Having one thing mean
>> something in one context, but something else in another context is
>> terrible interface design.
>>
>> Regards,
>>
>> Anthony Liguori
>
> Aha so just renaming the field 'fds' would address this issue?
No, you still have the problem of different meanings.
-netdev tap,fd=X,fd=Y
-netdev tap,fds=X,fds=Y
Would have wildly different behavior.
Just do:
-netdev tap,fds=X:Y
And then we're staying consistent wrt the interpretation of multiple
properties of the same name.
Regards,
Anthony Liguori
- Re: [Qemu-devel] [PATCH 00/12] Multiqueue virtio-net, (continued)
Re: [Qemu-devel] [PATCH 00/12] Multiqueue virtio-net, Anthony Liguori, 2013/01/14