Re: [RFC PATCH 00/17] virtual-bus

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Gregory Haskins
Date: Thursday, April 2, 2009 - 8:31 am

Avi Kivity wrote:
I
he
he
y
s


Yes

Yes, but the important thing to point out is it doesn't *replace* PCI.=20
It simply an alternative.


But thats just it.  You don't *need* to move.  The two can coexist side
by side peacefully.  "vbus" just ends up being another device that may
or may not be present, and that may or may not have devices on it.  In
fact, during all this testing I was booting my guest with "eth0" as
virtio-net, and "eth1" as venet.  The both worked totally fine and
harmoniously.  The guest simply discovers if vbus is supported via a
cpuid feature bit and dynamically adds it if present.

And it will continue to work


virtio will continue to work on windows, as well.  And if one of my
customers wants vbus support on windows and is willing to pay us to
develop it, we can support *it* there as well.
Yeah, but this is ok.  And I am not against doing that mod we talked
about earlier where I replace dynirq with a pci shim to represent the
vbus.  Question about that: does userspace support emulation of MSI
interrupts?  I would probably prefer it if I could keep the vbus IRQ (or
IRQs when I support MQ) from being shared.  It seems registering the
vbus as an MSI device would be more conducive to avoiding this.

Not really.  Its the same thing conceptually as virtio, except I am not
riding on PCI so I would need to manage this somehow.  Its support would
not be "free", but I dont think the ability to support this new bus type
is ultimately predicated on having PCI support.  But like I said, this
is really vbus's problem.  virtio will continue to work, and customer
funding (or a dev volunteer) will dictate if windows can support vbus as
well.  Right now I am perfectly willing to accept that windows guests
have no ability to access the feature.

Again, virtio will continue to work.  And if we cannot find a way to
collapse virtio and ioq together in a way that everyone agrees on, there
is no harm in having two.  I have no problem saying I will maintain
IOQ.  There is plenty of precedent for multiple ways to do the same thing=
=2E


Well, it depends on what you want.  Do you want a implementation that is
virtio-net, kvm, and pci specific while being hardcoded in?  What
happens when someone wants to access it but doesnt support pci?  What if
something like lguest wants to use it too?  What if you want
virtio-block next?  This is one extreme.

The other extreme is the direction I have gone, which is dynamically
loaded/instantiated generic objects which can work with kvm or whatever
subsystem wants to write a vbus-connector for.  I realize this is more
complex.  It is also more flexible.  Everything has a cost, though I
will point out that a good portion of the cost has already been paid for
by me and my employer ;)

So yeah, it doesn't *need* vbus to do this.  This is just one way of
many things that could be done between the two extremes.  But I didn't
design this thing to be some randomly coded amorphous blob that I am now
trying to miraculously shoehorn into KVM.  I designed it from the start
as what I felt a good virtual IO facility could be when starting with a
clean slate, keeping KVM as a primary target application the whole
time.  It is unfortunate that we, I think, disagree on the value add of
PCI, and that in the end may prevent vbus as ever being a transport for
an ABI compatible virtio-net implementation.  However, that also doesn't
mean it isn't useful in other contexts outside of this one particular
type of IO.

-Greg
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 7:27 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 8:31 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 8:49 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 9:06 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 9:51 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 10:44 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 4:43 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Fri Apr 3, 7:58 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 8:37 am)
Re: [RFC PATCH 00/17] virtual-bus, Chris Wright, (Fri Apr 3, 10:09 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Fri Apr 3, 11:19 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Fri Apr 3, 11:32 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Sun Apr 5, 3:50 am)