SSDを2番目のGPUと同じIOMMUグループに移動する

SSDを2番目のGPUと同じIOMMUグループに移動する

GPUパススルーを使用して動作するQemu構成があります。今SSDも仕事に渡したいです。パススルー装置は同じグループになければならないと読みました。次のスクリプト:

#!/usr/bin/env bash
shopt -s nullglob
for g in /sys/kernel/iommu_groups/*; do
    echo "IOMMU Group ${g##*/}:"
    for d in $g/devices/*; do
        echo -e "\t$(lspci -nns ${d##*/})"
    done
done

私のGPUはグループ8に属していますが、SSDはグループ9に属していると思います。

IOMMU Group 8:
        01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117 [GeForce GTX 1650] [10de:1f82] (rev a1)
        01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10fa] (rev a1)
IOMMU Group 9:
        02:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset USB 3.1 XHCI Controller [1022:43ee]
        02:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset SATA Controller [1022:43eb]
        02:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset Switch Upstream Port [1022:43e9]
        03:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
        03:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
        03:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
        03:09.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
        05:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller 980 [144d:a809]
        07:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)

SSDをグループ8に移動する方法は?

driverctl set-override 0000:05:00.0 vfio-pciドライバをからに変更しnvmeましたが、IOMMUvfio-pciグループは変更されませんでした。

答え1

IOMMUグループは、「単位」として渡すことができる最小のPCIデバイスグループです。これはハードウェア属性です。チップセットを見ると、そのハードウェアを再構成できないようです。

したがって、グループから何かを削除することはできません。それ以外の場合は独自のグループになります。

したがって、グループ9を通過する必要があります。これはうまくいかないようです。

関連情報