Re: Enable more than 255 VCPU support without irq remapping function in the guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yang Zhang <yang.zhang.wz@xxxxxxxxx> wrote:

> On 2016/5/3 12:55, Jan Kiszka wrote:
>> On 2016-05-03 04:03, Nadav Amit wrote:
>> 
>> The bottleneck with emulated DMAR is rather in QEMU. But DMAR can be
>> almost as cheap as IR once we get it running for VFIO and vhost: both
>> need proper caching because they do not work with QEMU in the loop for
>> each and every DMA transfer. Still no need to deviate from physical
>> hardware.
> 
> Sorry, i don't know detail about how VFIO and vhost work with IR. But it seems hard to do proper caching since DMA allocations are very frequently in Linux unless we move the whole iommu emulation to kernel. Another idea is using two iommus: one for Qemu and one for device in kernel like vfio and vhost. I did the similar thing in Xen in several years ago which uses two iommus solution and it works well in my experiment environment. Besides, this solution is easy for nested device pass-through. The Page 32 of [1] has more detail.
> 
> [1] http://docplayer.net/10559370-Nested-virtualization.html

I did a similar work as well several years ago [2], and achieved similar 
results. The problem with these results is that you don’t show the CPU
utilization. Sure, for 1GBE netperf it might be fine, but I am not sure
it would be useful for more demanding tasks.

Isn’t it possible to use the PASID as a sort of virtual function?

Regards,
Nadav


[2] https://www.usenix.org/legacy/event/atc11/tech/final_files/Amit.pdf--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux