[Kimchi-devel] [PATCH v7 0/4] Host device passthrough: Summary
Zhou Zheng Sheng
zhshzhou at linux.vnet.ibm.com
Mon Jul 14 02:48:05 UTC 2014
on 2014/07/13 22:58, Aline Manera wrote:
> Just remembered to mention:
>
> Add new files to pep_whitlist in Makefile.am and make sure they follow
> the pep8 rules
>
Yes. Thanks.
> On 07/13/2014 11:51 AM, Aline Manera wrote:
>>
>>
>> On 07/09/2014 04:01 AM, Zhou Zheng Sheng wrote:
>>> Hi,
>>>
>>> This patch series is to enable Kimchi to assign hos devices directly to
>>> a VM, thus greately improve VM performance. Currently we support
>>> assigning
>>> PCI device, USB device and SCSI LUN. For example, we can assign an NIC
>>> to VM to improve guest network throughput, or passthrough a USB camera
>>> to enable the guest OS to record video.
>>>
>>> Host devices form a tree. We can assign most of the devices in the tree
>>> to VM. By assigning a device, all the devices in its sub-tree are also
>>> assigned. It might not make sense to assign a USB controller, because
>>> the host may be using one of the devices connected to the controller.
>>> Instead, Kimchi just presents the "leaf" devices to assign to guest.
>>>
>>> In recent Linux kernel and KVM, it is able to recognize the IOMMU group
>>> of a PCI device. The "leaf" PCI devices in the same IOMMU group should
>>> be assigned and dismissed together. The IOMMU group is the actual
>>> smallest isolation granularity of the PCI devices.
>>>
>>> The first patch is to list all host devices information. It's useful on
>>> its own to show host devices information.
>>>
>>> The second patch is to list all eligible host devices to assign, as well
>>> as the "affected" devices in the same IOMMU group.
>>>
>>> The third patch creates a sub-collection "hostdevs" to the VM resource,
>>> and deals with assigning and dismissing devices.
>>>
>>> The fourth patch adds a sub-collection "vm_holders" to the host device
>>> resource. It's to list all VMs that are holding the device.
>>>
>>> I'll update API and unit test once everyone is happy with the interface
>>> and logic.
>>>
>>
>> Don't forget to also update mockmodel.py to reflect those changes.
>>
>>> v7:
>>> Some minor coding style improvements.
>>> v6:
>>> Do not passthrough PCI device of class code 0x07. It might contains
>>> system device not suitable to assign to guest.
>>> v5:
>>> Filter ealigible pci devices according to pci class. When assigning a
>>> device to VM, check if there are other VMs holding it. Use
>>> "kimchi.model.utils.get_vm_config_flag()" to correctly set the device
>>> attaching API flag.
>>> v4:
>>> Add new sub-collection to host device to list the VMs holding the
>>> device.
>>> v3:
>>> Fix a small naming error introduced by rebase.
>>> v2:
>>> Handle the devices in VM's sub-collection "hostdevs".
>>> v1:
>>> Handle the devices in VM template.
>>>
>>> Zhou Zheng Sheng (4):
>>> Host device passthrough: List all types of host devices
>>> Host device passthrough: List eligible device to passthrough
>>> Host device passthrough: Directly assign and dissmis host device from
>>> VM
>>> Host device passthrough: List VMs that are holding a host device
>>>
>>> docs/API.md | 11 +-
>>> src/kimchi/control/host.py | 16 ++
>>> src/kimchi/control/vm/hostdevs.py | 44 +++++
>>> src/kimchi/featuretests.py | 10 +-
>>> src/kimchi/hostdev.py | 311
>>> +++++++++++++++++++++++++++++++
>>> src/kimchi/i18n.py | 9 +
>>> src/kimchi/mockmodel.py | 7 +-
>>> src/kimchi/model/config.py | 2 +
>>> src/kimchi/model/host.py | 32 ++--
>>> src/kimchi/model/libvirtstoragepool.py | 18 +-
>>> src/kimchi/model/vmhostdevs.py | 323
>>> +++++++++++++++++++++++++++++++++
>>> src/kimchi/rollbackcontext.py | 3 +
>>> src/kimchi/xmlutils.py | 26 ++-
>>> tests/test_rest.py | 6 +-
>>> tests/test_storagepool.py | 7 +-
>>> 15 files changed, 786 insertions(+), 39 deletions(-)
>>> create mode 100644 src/kimchi/control/vm/hostdevs.py
>>> create mode 100644 src/kimchi/hostdev.py
>>> create mode 100644 src/kimchi/model/vmhostdevs.py
>>>
>>
>> _______________________________________________
>> Kimchi-devel mailing list
>> Kimchi-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>
--
Zhou Zheng Sheng / 周征晟
E-mail: zhshzhou at linux.vnet.ibm.com
Telephone: 86-10-82454397
More information about the Kimchi-devel
mailing list