KVM直通Tesla T4 GPU安裝windows虛擬機出現PCIE報錯指向GPU

問題描述

多個客戶在使用kvm虛擬機搭配T4 GPU建立windows虛擬機時,物理機出現PCIE報錯,且報錯指向具體的GPU。linux

測試發現只有在安裝GPU驅動時會引起物理機PCIE報錯,具體由如下兩種狀況觸發:windows

  • kvm使用包含T4 GPU 驅動的windows鏡像建立虛擬機時
  • kvm使用純淨的windows鏡像建立虛擬機正常,在windows虛擬機下安裝GPU驅動時

詳細報錯示例:服務器

#服務器事件日誌出現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

KVM直通Tesla T4 GPU安裝windows虛擬機出現PCIE報錯指向GPU

KVM直通Tesla T4 GPU安裝windows虛擬機出現PCIE報錯指向GPU

解決辦法

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
你們能夠嘗試驗證下。事件

KVM直通Tesla T4 GPU安裝windows虛擬機出現PCIE報錯指向GPU

相關文章
相關標籤/搜索