Re: vfio_pin_map_dma cause synchronize_sched wait too long

From: Paolo Bonzini
Date: Mon Dec 02 2019 - 04:31:20 EST


On 02/12/19 10:10, Longpeng (Mike) wrote:
>
> Suppose there're two VMs: VM1 is bind to node-0 and calling vfio_pin_map_dma(),
> VM2 is a migrate incoming VM which bind to node-1. We found the vm_start( QEMU
> function) of VM2 will take too long occasionally, the reason is as follow.

Which part of vfio_pin_map_dma is running? There is already a
cond_resched in vfio_iommu_map. Perhaps you could add one to
vfio_pin_pages_remote and/or use vfio_pgsize_bitmap to cap the number of
pages that it returns.

Paolo