Re: [PATCH 0/16 v6] PCI: Linux kernel SR-IOV support

From: Avi Kivity
Date: Sun Nov 09 2008 - 14:38:48 EST


Greg KH wrote:
On Sun, Nov 09, 2008 at 02:44:06PM +0200, Avi Kivity wrote:
Greg KH wrote:
It's that "second" part that I'm worried about. How is that going to
happen? Do you have any patches that show this kind of "assignment"?

For kvm, this is in 2.6.28-rc.

Where? I just looked and couldn't find anything, but odds are I was
looking in the wrong place :(


arch/x86/kvm/vtd.c: iommu integration (allows assigning the device's memory resources)
virt/kvm/irq*: interrupt redirection (allows assigning the device's interrupt resources)

the rest (pci config space, pio redirection) are in userspace.

Note there are two ways to assign a device to a guest:

- run the VF driver in the guest: this has the advantage of best performance, but requires pinning all guest memory, makes live migration a tricky proposition, and ties the guest to the underlying hardware.

Is this what you would prefer for kvm?


It's not my personal preference, but it is a supported configuration. For some use cases it is the only one that makes sense.

Again, VF-in-guest and VF-in-host both have their places. And since Linux can be both guest and host, it's best if the VF driver knows nothing about SR-IOV; it's just a pci driver. The PF driver should emulate anything that SR-IOV does not provide (like missing pci config space).

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/