Description of problem: vfio在执行vfio_pin_map_dma时会将物理地址连续的内存执行iommu map,这时每次只pin一个page,然后判断和上一个page是否物理连续,这种操作导致vfio_pin_map_dma执行时间变长。 这样会导致设备透传的虚拟机启动时间变长,如果改为每次pin多个page,然后分批将这些page中物理连续的部分执行iommu map将会对降低启动时间。 upstream commit 4d83de6da265cd84e74c19d876055fa5f261cde4可以改善这个问题,根据commit log将由8%左右的性能提升。
merged: https://gitee.com/anolis/cloud-kernel/pulls/1137