Archive:It IT/Releases/12/Features/SR-IOV

From FedoraProject

Revision as of 16:30, 30 January 2010 by Lewis41 (Talk | contribs)

Jump to: navigation, search




Single Root I/O Virtualization (SR-IOV) is a PCI feature which allows virtual functions (VF) to be created that share the resources of a physical function (PF).

SR-IOV is primarily useful in allowing a single PCI device to be shared amongst multiple virtual machines.


Stato attuale


  • Test that VF device assignment works with Fedora virt tools


  • Get PCI_IOV support upstream (included in v2.6.30)

Detailed Description

SR-IOV allows a single PCI device to be shared amongst multiple virtual machines while retaining the performance benefit of assigning a PCI device to a virtual machine. A common example is where a single SR-IOV capable NIC - with perhaps only a single physical network port - might be shared with multiple virtual machines by assigning a virtual function to each VM.

SR-IOV support is implemented in the kernel. The core implementation is contained in the PCI subsystem, but there must also be driver support for both the Physical Function (PF) and Virtual Function (VF) devices. With an SR-IOV capable device one can allocate VFs from a PF. The VFs surface as PCI devices which are backed on the physical PCI device by resources (queues, and register sets).

In 2.6.30, the Intel® 82576 Gigabit Ethernet Controller is the only SR-IOV capable device supported. The igb driver has PF support and the igbvf has VF support.

In 2.6.31 the Neterion® X3100™ is supported as well. This device uses the same vxge driver for the PF as well as the VFs.

Benefit to Fedora

SR-IOV support further extends Fedora's ability to act as a high-performance server Virtualization solution. With the F11 feature PCI device assignment Fedora can assign a physical PCI device to a guest. With SR-IOV support Fedora can now allocate resources from a PCI device which itself supports SR-IOV. These resources, called Virtual Functions, surface as new PCI devices which can be assigned to a guest OS. This gives the same performance benefit of assigning a physical PCI device to a guest, however, it eliminates the need to have the server filled with physical PCI devices (which may not be physically possible for large counts of PCI devices), and the administrative complications of managing a large number of devices (these are typically NICs or HBAs, so there's cabling involved). Because the guest OS is effectively driving the hardware directly, the I/O performance is on par with bare metal performance. A definite improvement over emulated I/O devices or paravirtual I/O devices.

Altre informazioni


  • Obbiettivi
  • Test Plan
  • Esperienza Utente
  • Dipendenze
  • Progetto corrente
  • Documentazione
  • Note di rilascio
  • Commenti e Discussioni


Release Notes

Fedora 12 adds support for PCI Single Root I/O Virtualization (SR-IOV) which allows capable hardware to be shared with multiple guest virtual machines.

Comments and Discussion