Re: vfio_pin_map_dma cause synchronize_sched wait too long

From: Longpeng (Mike)
Date: Mon Dec 02 2019 - 04:42:27 EST


在 2019/12/2 17:31, Paolo Bonzini 写道:
> 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

I need more analysis to find which part.

> 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.

Um ... There's only one running task (qemu-kvm of the VM1) on that CPU, so maybe
the cond_resched() is ineffective ?

> > Paolo
>
>
>


--
Regards,
Longpeng(Mike)