Re: Use of virtio device IDs

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Avi Kivity <avi@...>
Cc: Gregory Haskins <gregory.haskins@...>, Anthony Liguori <aliguori@...>, Rusty Russell <rusty@...>, Dor Laor <dor.laor@...>, <virtualization@...>, <linux-kernel@...>
Date: Tuesday, November 13, 2007 - 9:18 am

Avi Kivity wrote:

(Sorry for the delay)

Since PCI was designed as a hardware solution it has all kinds of stuff
specifically geared towards hardware constraints.   Those constraints
are different in a virtualized platform, so some things do not translate
well to an optimal solution.  Half of the stuff wouldn't be used, and
the other half has some nasty baggage associated with it (like still
requiring partial emulation in a PV environment).

The point of PV, of course, is high performance guest/host interfaces,
and PCI baggage just gets in the way in many respects.  Once a
particular guest's subsystem is HV aware we no longer strictly require
legacy emulation.  It should know how to talk to the host using whatever
is appropriate.  I aim to strip out all of those emulation points
whenever possible.  Once you do that, all of the PCI features that we
would use drops to zero.

On the flip side, we have full emulation if you want broader
compatibility with legacy, at the expense of performance.


Like what hardware?  Like PCI hardware?  What if the platform in
question doesn't have PCI?  Also note that devices don't have to look
like emulated PCI devices per se to look like hardware to the
guest-OS/user.  That is just one way to do it.


After having done it in the past, I disagree.   But it sounds like you
are lumping core-pv and io-pv together.  To be clear, I am not.  I agree
that core-pv is invasive and not legacy friendly.  io-pv is different,
however, and generally can be retrofitted to an OS in the same way that
support for an arbitrary device X over subsystem Y (PCI, usb, pv, etc)
can be.  e.g. you load a driver for the subsystem.


I am ;)


I see hanging our hats on PCI as creating a mess for KVM/virtio ;)


I guess what I am really trying to say in all this is; I would be
careful about painting KVM into a PCI corner.  If you want to "render" a
view of PV devices as PCI for platforms that can utilize it, there is
probably not any harm in that.

However, I believe having things be PCI centric, especially in the long
term, will easily turn into a mistake for the project.  I don't think
its going to be as useful as you think it is, and then we might find
ourselves in a "backwards compatibility maintenance" situation to
support all these decisions.  If the current architecture already is
shaping up to be PCI neutral, great! (I haven't had a chance to follow
lately).  If not, I think we should reconsider before things get too messy.

Regards,
-Greg





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

Messages in current thread:
Use of virtio device IDs, Anthony Liguori, (Tue Nov 6, 1:16 pm)
Re: Use of virtio device IDs, Anthony Liguori, (Tue Nov 6, 2:49 pm)
Re: Use of virtio device IDs, Gregory Haskins, (Tue Nov 6, 11:38 pm)
Re: Use of virtio device IDs, Avi Kivity, (Wed Nov 7, 1:40 am)
Re: Use of virtio device IDs, Gregory Haskins, (Wed Nov 7, 4:38 pm)
Re: Use of virtio device IDs, Avi Kivity, (Thu Nov 8, 2:37 am)
Re: Use of virtio device IDs, Gregory Haskins, (Tue Nov 13, 9:18 am)
Re: Use of virtio device IDs, Zachary Amsden, (Tue Nov 13, 9:59 am)
Re: Use of virtio device IDs, Gerd Hoffmann, (Thu Nov 8, 5:17 am)
Re: Use of virtio device IDs, Anthony Liguori, (Thu Nov 8, 12:40 pm)
Re: Use of virtio device IDs, Rusty Russell, (Wed Nov 7, 2:09 am)
Re: Use of virtio device IDs, Anthony Liguori, (Wed Nov 7, 1:33 pm)
Re: Use of virtio device IDs, Anthony Liguori, (Wed Nov 7, 2:29 am)