Hi,
As in Kimchi 1.3 TODO list
(
https://github.com/kimchi-project/kimchi/wiki/Todo-1.3), there is a
task of passthrough support. It 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.
The back-end patch also handles PCI device grouping (attach and detach
all devices in the same iommu group together) and provides some other
useful features. Since the due day is near, I think we can come up with
an easy and simple UI for 1.3, and mark this feature as experimental.
Then we improve it in future releases. So in this release we may only
expose PCI devices to user and don't mention the iommu grouping logic.
For this version I think we may provide the following operations to the
user.
In the VM edit window, initially, the user sees a list of PCI devices
already assigned to the VM. This maps to GET vms/VM_NAME/hostdevs.
In edit mode, the user can detach device. This maps to DELETE
vms/VM_NAME/hostdevs/DEVICE_NAME.
The user can also select device to attach to VM from a list. The listing
of eligible devices is mapped to GET
host/devices?_passthrough=true&_cap=pci.
To attach a device, just POST a dict containing only the device name to
vms/VM_NAME/hostdevs.
I think these operations forms a basic interaction to enable user to
consume this feature. It may be feasible to finish them before the due day.
--
Zhou Zheng Sheng / 周征晟
E-mail: zhshzhou(a)linux.vnet.ibm.com
Telephone: 86-10-82454397