kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6 v3] PCI: Linux kernel SR-IOV support
@ 2008-09-27  8:27 Zhao, Yu
  2008-09-27 18:07 ` Javier Guerra Giraldez
  0 siblings, 1 reply; 3+ messages in thread
From: Zhao, Yu @ 2008-09-27  8:27 UTC (permalink / raw)
  To: linux-pci@vger.kernel.org
  Cc: Jesse Barnes, Randy Dunlap, Grant Grundler, Alex Chiang,
	Matthew Wilcox, Roland Dreier, Greg KH,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org

Greetings,

Following patches are intended to support SR-IOV capability in the Linux kernel. With these patches, people can turn a PCI device with the capability into multiple ones from software perspective, which can benefit KVM and achieve other purposes such as QoS, security, etc.

[PATCH 1/6 v3] PCI: export some functions and macros
[PATCH 2/6 v3] PCI: add new general functions
[PATCH 3/6 v3] PCI: support ARI capability
[PATCH 4/6 v3] PCI: support SR-IOV capability
[PATCH 5/6 v3] PCI: reserve bus range for SR-IOV device
[PATCH 6/6 v3] PCI: document the change

 b/Documentation/DocBook/kernel-api.tmpl |    2
 b/Documentation/PCI/pci-iov-howto.txt   |  228 ++++++++
 b/drivers/pci/Kconfig                   |   12
 b/drivers/pci/Makefile                  |    2
 b/drivers/pci/iov.c                     |  850 ++++++++++++++++++++++++++++++++
 b/drivers/pci/pci-sysfs.c               |   10
 b/drivers/pci/pci.c                     |    2
 b/drivers/pci/pci.h                     |   20
 b/drivers/pci/probe.c                   |   50 -
 b/drivers/pci/proc.c                    |    7
 b/drivers/pci/setup-bus.c               |    4
 b/drivers/pci/setup-res.c               |    2
 b/include/linux/pci.h                   |    5
 b/include/linux/pci_regs.h              |   15
 drivers/pci/iov.c                       |   24
 drivers/pci/pci-sysfs.c                 |  123 ++--
 drivers/pci/pci.c                       |  113 +++-
 drivers/pci/pci.h                       |   75 ++
 drivers/pci/probe.c                     |   40 +
 drivers/pci/setup-bus.c                 |    4
 drivers/pci/setup-res.c                 |   27 -
 include/linux/pci.h                     |   98 +++
 include/linux/pci_regs.h                |   22
 23 files changed, 1580 insertions(+), 155 deletions(-)

---

Single Root I/O Virtualization (SR-IOV) capability defined by PCI-SIG is intended to enable multiple system software to share PCI hardware resources. PCI device that supports this capability can be extended to one Physical Functions plus multiple Virtual Functions. Physical Function, which could be considered as the "real" PCI device, reflects the hardware instance and manages all physical resources. Virtual Functions are associated with a Physical Function and shares physical resources with the Physical Function. Software can control allocation of Virtual Functions via registers encapsulated in the capability structure.

SR-IOV specification can be found at http://www.pcisig.com/members/downloads/specifications/iov/sr-iov1.0_11Sep07.pdf

Devices that support SR-IOV are available from following vendors:
http://download.intel.com/design/network/ProdBrf/320025.pdf
http://www.netxen.com/products/chipsolutions/NX3031.html
http://www.neterion.com/products/x3100.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 0/6 v3] PCI: Linux kernel SR-IOV support
  2008-09-27  8:27 [PATCH 0/6 v3] PCI: Linux kernel SR-IOV support Zhao, Yu
@ 2008-09-27 18:07 ` Javier Guerra Giraldez
  2008-10-08  2:32   ` Zhao, Yu
  0 siblings, 1 reply; 3+ messages in thread
From: Javier Guerra Giraldez @ 2008-09-27 18:07 UTC (permalink / raw)
  To: Zhao, Yu
  Cc: linux-pci@vger.kernel.org, Jesse Barnes, Randy Dunlap,
	Grant Grundler, Alex Chiang, Matthew Wilcox, Roland Dreier,
	Greg KH, linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org

[-- Attachment #1: Type: text/plain, Size: 686 bytes --]

On Saturday 27 September 2008, Zhao, Yu wrote:
> Greetings,
>
> Following patches are intended to support SR-IOV capability in the Linux
> kernel. With these patches, people can turn a PCI device with the
> capability into multiple ones from software perspective, which can benefit
> KVM and achieve other purposes such as QoS, security, etc.

sounds great, i think some Infiniband HBAs have this capability; they even 
suggested using on Xen for faster (no hypervisor intervention) communication 
between DomU's on the same box. (and transparently to out of the box, of 
course)

does it need an IOMMU (VT-d), or the whole magic is done by the PCI device?

-- 
Javier

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH 0/6 v3] PCI: Linux kernel SR-IOV support
  2008-09-27 18:07 ` Javier Guerra Giraldez
@ 2008-10-08  2:32   ` Zhao, Yu
  0 siblings, 0 replies; 3+ messages in thread
From: Zhao, Yu @ 2008-10-08  2:32 UTC (permalink / raw)
  To: Javier Guerra Giraldez
  Cc: linux-pci@vger.kernel.org, Jesse Barnes, Randy Dunlap,
	Grant Grundler, Alex Chiang, Matthew Wilcox, Roland Dreier,
	Greg KH, linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org

On Sunday, September 28, 2008 2:08 AM, Javier Guerra Giraldez wrote:
>On Saturday 27 September 2008, Zhao, Yu wrote:
>> Greetings,
>>
>> Following patches are intended to support SR-IOV capability in the Linux
>> kernel. With these patches, people can turn a PCI device with the
>> capability into multiple ones from software perspective, which can benefit
>> KVM and achieve other purposes such as QoS, security, etc.
>
>sounds great, i think some Infiniband HBAs have this capability; they even
>suggested using on Xen for faster (no hypervisor intervention) communication
>between DomU's on the same box. (and transparently to out of the box, of
>course)

Thanks. We will also push Xen patches soon. And please feel free to let us know if you have any question when integrating these patches with your products.

>
>does it need an IOMMU (VT-d), or the whole magic is done by the PCI device?

For native Linux, we can use Virtual Function without IOMMU. For KVM, it requires IOMMU so the guest can use VFs.

For Xen HVM, it also requires IOMMU. For Xen PV, it doesn't need IOMMU.

>
>--
>Javier

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-10-08  2:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-27  8:27 [PATCH 0/6 v3] PCI: Linux kernel SR-IOV support Zhao, Yu
2008-09-27 18:07 ` Javier Guerra Giraldez
2008-10-08  2:32   ` Zhao, Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).