linux用戶態驅動--VIFIO、IOMMU、UIO(二)

1、UIO的出現,允許將驅動程序用到用戶態空間裏實現,但UIO有它的不足之處,如不支持DMA、中斷等;

2、隨着虛擬化的出現,IOMMU也隨之出現,IOMMU爲每個直通的設備分配獨立的頁表,因此不同的直通設備,彼此之間相互隔離;

3、有一些場景,多個PCI設備之間是有相互聯繫的,他們互相組成一個功能實體,彼此之間是可以相互訪問的,因此IOMMU針對這些設備是行不通的,隨之出現VFIO技術,VFIO兼顧了UIO和IOMMU的優點,在VFIO裏,直通的最小單元不再是某個單獨的設備了,而是分佈在同一個group的所有設備;

4、kvm的PCI、PCIE設備直通,默認都是通過VFIO實現的(通過virsh attach-device xxx會自動插vfio的相關ko,自動生成vfio的container);

5、PCIE與PCI直通的區別是:PCI只能直通給某個特定的虛擬機,而PCIE有可能可以給多個虛擬機用,如具有SR-IOV功能的PCIE設備,通過在HOST上抽象出多個的VF,每個VF再通過VFIO直通給虛擬機,最終的表現就是一個物理PCIE網卡可以直通給多個虛擬機用;

6、SR-IOV是針對PCIE設備的,PCI設備理論上不具有SR-IOV功能;

原文鏈接:https://blog.csdn.net/zgy666/article/details/78649777

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章