On 2018/10/29 上午10:42, Simon Guo wrote:
Hi,

I am using network device pass through mode with qemu x86(-device 
vfio-pci,host=0000:xx:yy.z)
and “intel_iommu=on” in host kernel command line, and it shows the whole guest 
memory
were pinned(vfio_pin_pages()), viewed by the “top” RES memory output. I 
understand it is due
to device can DMA to any guest memory address and it cannot be swapped.

However can we just pin a rang of address space allowed by iommu group of that 
device,
instead of pin whole address space? I do notice some code like 
vtd_host_dma_iommu().
Maybe there is already some way to enable that?

Sorry if I missed some basics. I googled some but no luck to find the answer 
yet. Please
let me know if any discussion already raised on that.

Any other suggestion will also be appreciated. For example, can we modify the 
guest network
card driver to allocate only from a specific memory region(zone), and qemu 
advises guest
kernel to only pin that memory region(zone) accordingly?

Thanks,
- Simon


One possible method is to enable IOMMU of VM.

Peter (cced) may know more.

Thanks

Reply via email to