From: Anthony Liguori <aliguori@us.ibm.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
e.voevodin@samsung.com, mark.burton@greensocs.com,
qemu-devel@nongnu.org, stefanha@redhat.com,
cornelia.huck@de.ibm.com, afaerber@suse.de,
"KONRAD Frédéric" <fred.konrad@greensocs.com>
Subject: Re: [Qemu-devel] [RFC PATCH v6 0/6] Virtio refactoring.
Date: Mon, 07 Jan 2013 15:24:14 -0600 [thread overview]
Message-ID: <878v841ybl.fsf@codemonkey.ws> (raw)
In-Reply-To: <20130107205950.GD10575@redhat.com>
"Michael S. Tsirkin" <mst@redhat.com> writes:
> On Mon, Jan 07, 2013 at 02:12:23PM -0600, Anthony Liguori wrote:
>> "Michael S. Tsirkin" <mst@redhat.com> writes:
>>
>> > On Tue, Dec 18, 2012 at 12:30:20PM +0100, KONRAD Frédéric wrote:
>> >> On 18/12/2012 12:01, Michael S. Tsirkin wrote:
>> >> >On Tue, Dec 18, 2012 at 10:33:37AM +0000, Peter Maydell wrote:
>> >> >>On 17 December 2012 15:45, Michael S. Tsirkin <mst@redhat.com> wrote:
>> >> >>>Is the point to allow virtio-mmio? Why can't virtio-mmio be just
>> >> >>>another bus, like a pci bus, and another binding, like the virtio-pci
>> >> >>>binding?
>> >> >>(a) the current code is really not very nice because it's not
>> >> >>actually a proper set of QOM/qdev devices
>> >> >>(b) unlike PCI, you can't create sysbus devices on the
>> >> >>command line, because they don't correspond to a user
>> >> >>pluggable bit of hardware. We don't want users to have to know
>> >> >>an address and IRQ number for each virtio-mmio device (especially
>> >> >>since these are board specific); instead the board can create
>> >> >>and wire up transport devices wherever is suitable, and the
>> >> >>user just creates the backend (which is plugged into the virtio bus).
>> >> >>
>> >> >>-- PMM
>> >> >This is what I am saying: create your own bus and put
>> >> >your devices there. Allocate resources when you init
>> >> >a device.
>> >> >
>> >> >Instead you seem to want to expose a virtio device as two devices to
>> >> >user - if true this is not reasonable.
>> >> >
>> >> The modifications will be transparent to the user, as we will keep
>> >> virtio-x-pci devices.
>> >
>> > So there are three ways to add virtio pci devices now.
>> > Legacy -device virtio-net-pci, legacy legacy -net nic.model=virtio
>> > and the new one with two devices.
>> > If yes it's not transparent, it's user visible.
>> > Or did I misunderstand?
>> >
>> > Look we can have a virtio network device on a PCI bus.
>> > A very similar device can be created on XXX bus, and
>> > we can and do share a lot of code.
>> > This makes it two devices? Why not 4?
>> > One for TX one for RX one for control one for PCI.
>> > I hope I'm not giving anyone ideas ...
>>
>> Devices != things users need to worry about.
>>
>> The documented way to create network devices is completely different
>> than any possible syntax you can conjure up with -device.
>>
>> Really, -device is not something users should have to deal with--ever.
>> It's a low level API, not a UI.
>>
>> Regards,
>>
>> Anthony Liguori
>
> Interesting.
> Let's assume I want to put a device behind a pci bridge
> (for example I want more than 32 of these).
You don't want to put a device behind a PCI bridge, you want to have
more than 32 devices.
'-net nic' should do the Right Thing when presented with more than 32
devices.
> It's impossible without -device, isn't it?
Think of -device like an API and -net as our UI. Management tools want
to use an API, because it provides low level control and generally has
limited side effects.
Users want a UI that makes sense. Trying to make both things satisfy
both audiences will almost certainly fail.
If a common use case cannot be done without resorting to using our API,
then we ought to improve our UI.
Regards,
Anthony Liguori
>
>> >
>> > --
>> > MST
next prev parent reply other threads:[~2013-01-07 21:24 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-07 13:32 [Qemu-devel] [RFC PATCH v6 0/6] Virtio refactoring fred.konrad
2012-12-07 13:32 ` [Qemu-devel] [RFC PATCH v6 1/6] qdev : add a maximum device allowed field for the bus fred.konrad
2012-12-07 13:32 ` [Qemu-devel] [RFC PATCH v6 2/6] virtio-bus : Introduce virtio-bus fred.konrad
2012-12-07 13:32 ` [Qemu-devel] [RFC PATCH v6 3/6] virtio-pci-bus : Introduce virtio-pci-bus fred.konrad
2012-12-07 13:32 ` [Qemu-devel] [RFC PATCH v6 4/6] virtio-pci : Refactor virtio-pci device fred.konrad
2012-12-07 13:32 ` [Qemu-devel] [RFC PATCH v6 5/6] virtio-device : Refactor virtio-device fred.konrad
2012-12-07 13:32 ` [Qemu-devel] [RFC PATCH v6 6/6] virtio-blk : Add the virtio-blk device fred.konrad
2012-12-07 14:53 ` Peter Maydell
2012-12-17 15:45 ` [Qemu-devel] [RFC PATCH v6 0/6] Virtio refactoring Michael S. Tsirkin
2012-12-17 17:13 ` KONRAD Frédéric
2012-12-17 20:46 ` Michael S. Tsirkin
2012-12-18 10:33 ` Peter Maydell
2012-12-18 11:01 ` Michael S. Tsirkin
2012-12-18 11:26 ` Peter Maydell
2012-12-18 11:50 ` Paolo Bonzini
2012-12-18 12:06 ` Peter Maydell
2012-12-18 13:10 ` Michael S. Tsirkin
2012-12-18 14:00 ` Peter Maydell
2012-12-18 14:36 ` Paolo Bonzini
2012-12-18 14:56 ` Peter Maydell
2012-12-18 14:59 ` Paolo Bonzini
2012-12-18 15:42 ` Michael S. Tsirkin
2012-12-18 15:14 ` Michael S. Tsirkin
2012-12-18 14:51 ` Michael S. Tsirkin
2012-12-18 11:30 ` KONRAD Frédéric
2012-12-18 13:21 ` Michael S. Tsirkin
2013-01-07 20:12 ` Anthony Liguori
2013-01-07 20:59 ` Michael S. Tsirkin
2013-01-07 21:24 ` Anthony Liguori [this message]
2013-01-07 21:37 ` Michael S. Tsirkin
2013-01-07 21:51 ` Anthony Liguori
2013-01-07 22:15 ` Michael S. Tsirkin
2013-01-07 22:50 ` Anthony Liguori
2013-01-08 6:46 ` Michael S. Tsirkin
2013-01-07 22:16 ` Michael S. Tsirkin
2013-01-07 19:58 ` Michael S. Tsirkin
2013-01-07 20:02 ` Peter Maydell
2013-01-07 20:49 ` Michael S. Tsirkin
2013-01-07 21:32 ` Anthony Liguori
2013-01-07 20:14 ` Anthony Liguori
2013-01-08 9:56 ` KONRAD Frédéric
2013-01-08 14:02 ` Michael S. Tsirkin
2013-01-08 14:27 ` KONRAD Frédéric
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=878v841ybl.fsf@codemonkey.ws \
--to=aliguori@us.ibm.com \
--cc=afaerber@suse.de \
--cc=cornelia.huck@de.ibm.com \
--cc=e.voevodin@samsung.com \
--cc=fred.konrad@greensocs.com \
--cc=mark.burton@greensocs.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.