多個客戶在使用kvm虛擬機搭配T4 GPU建立windows虛擬機時,物理機出現PCIE報錯,且報錯指向具體的GPU。linux
測試發現只有在安裝GPU驅動時會引起物理機PCIE報錯,具體由如下兩種狀況觸發:windows
詳細報錯示例:服務器
#服務器事件日誌出現PCIE報錯 14b | 06/02/2020 | 16:57:59 | Critical Interrupt PCIE | Bus Uncorrectable error | Asserted 14c | 06/02/2020 | 16:58:14 | Critical Interrupt PCIE | Bus Uncorrectable error | Asserted #服務器黑盒日誌給出了PCIE的報錯busno [Jun 02 2020 16:57:59] : PCIE Error: locate:NPSENTBusNo 62 DevNo 0 FuncNo 0 Bus Uncorrectable Error assertion. [Jun 02 2020 16:57:59] : Current BIOS Code(Port80): 0x00. [Jun 02 2020 16:58:14] : PCIE Error: locate:NPSENTBusNo 181 DevNo 0 FuncNo 0 Bus Uncorrectable Error assertion. [Jun 02 2020 16:58:14] : Current BIOS Code(Port80): 0x00.
其中黑盒日誌BusNo 62和BusNo 181分別指向3E:00和B5:00兩個GPU。ide
linux宿主機每次開機進系統後,執行命令清除root port SERR信息,可將如下命令添加進開機自啓動配置中,須要注意root port的device_id 不要搞錯。測試
setpci -s 3a:00.0 3e.w=0:2 setpci -s ae:00.0 3e.w=0:2
直通鏈接的T4 GPU卡,在Windows 虛擬機下觸發GPU MSI-X表的訪問,這將致使來自T4不支持的請求(UR)響應,該錯誤由PCIe root port觸發系統處理器上的不可屏蔽中斷(NMI),從而致使不可恢復的系統錯誤。日誌
NVIDA提交BUG給RedHat KVM團隊建議修復方案:在禁用相應的MMIO訪問時,使PCIe root的端口映射無效。 並將嘗試對設備的MMIO訪問僅向用戶生成SIGBUS響應,而且將避免致使KVM虛擬機管理程序上的NMI的系統錯誤。code
根據:https://access.redhat.com/errata/RHSA-2020:2664 June 30 以後的kernel 包含了這個bug fix : 1820632
你們能夠嘗試驗證下。事件