Ryzen5 1600およびマルチRX580 GPUに適したiommuカーネルパラメータは何ですか?

Ryzen5 1600およびマルチRX580 GPUに適したiommuカーネルパラメータは何ですか?

AMD-VI IOTLB_INV_TIMEOUTAER: Corrected error receivedRX580用にすべてのPCIeスロットを予約すると、このようなエラーやカーネルパニックによってコンピュータが起動するのを防ぎます。 Linuxパラメータを追加しiommu=softpci=noaer起動の問題を解決します。 Lubuntu と Ubuntu 20.04 では、カーネル drm に次のログが表示されます。

00:58:47 lubu kernel: [drm] PCIE GART of 256M enabled (table at 0x000000F400000000).
00:58:47 lubu kernel: [drm] UVD and UVD ENC initialized successfully.
00:58:47 lubu kernel: [drm] VCE initialized successfully.
00:58:47 lubu kernel: [drm] Cannot find any crtc or sizes

また、Ubuntu 20.04では、gdm3は私のJournalctlに次のような多くのメッセージを送信します。

14:02:36 ub20 /usr/lib/gdm3/gdm-x-session[1334]: (II) AMDGPU(0): EDID vendor "GSM", prod id 19311
14:02:36 ub20 /usr/lib/gdm3/gdm-x-session[1334]: (II) AMDGPU(0): DDCModeFromDetailedTiming: 720x480 Warning: We only handle separate sync.
14:02:36 ub20 /usr/lib/gdm3/gdm-x-session[1334]: (II) AMDGPU(0): Using EDID range info for horizontal sync
14:02:36 ub20 /usr/lib/gdm3/gdm-x-session[1334]: (II) AMDGPU(0): Using EDID range info for vertical refresh
14:02:36 ub20 /usr/lib/gdm3/gdm-x-session[1334]: (II) AMDGPU(0): Printing DDC gathered Modelines:

ただし、GPU を広く使用すると、両方のディストリビューションでランダムにシステムがハングする現象が発生します。主にJournalctlをチェックすると、次のエラーログが表示されます。

00:59:06 lubu kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring sdma0 timeout, signaled seq=175, emitted seq=177
00:59:06 lubu kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process  pid 0 thread  pid 0
00:59:06 lubu kernel: amdgpu 0000:07:00.0: amdgpu: GPU reset begin!
30 00:59:06 lubu kernel: amdgpu: [powerplay] 
                              last message was failed ret is 65535

または

kernel: [drm:amdgpu_dm_atomic_commit_tail [amdgpu]] *ERROR* Waiting for fences timed out!
kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=4226, emitted seq=4228

一部のLinuxユーザーはiommu=ptこれらの問題を解決したと報告しています。https://bbs.archlinux.org/viewtopic.php?id=250297

私は数ヶ月間この問題のために混乱していましたが、ここで何が起こっているのかを学び、理解したいのです。だから私はiIOMMUチューニングに関するLinuxカーネルのドキュメントを読んだ。https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html可能なパラメータとその意味https://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt

私はIOMMUの専門家ではないので、GART、再マッピング解除、バウンスバッファリング(SWIOTLB)、amdgpuとLinuxシステム自体の間の相互作用などの用語を理解することは困難です。読み取り可能:iommu=softLinuxがソフトウェアバウンスバッファリング(SWIOTLB)を使用していることを示します。 SWIOTLBは、デフォルトでnoforceオペレーティングシステムが自分のPCから起動するのを防ぎます。noforceこれは、ハードウェアIOMMUが強制的に使用されないことを意味します。

amd_iommuその後、ハードウェアの設定に重要な別のパラメータがあります。このオプションには fullflush、off、force_isolation の 3 つの値があります。残念ながら、このオプションのデフォルト値は何であるかわかりません。

私のクイック質問:パラメータの最良の組み合わせは何ですか?iommu私のamd_iommuハードウェアがRyzen5からRX580を最大限に活用する方法は何ですか?

私の追加質問:

  1. amd_iommuサプリメントですかiommu?それともamd_iommuAMD Ryzen CPUまたはAMD GPUハードウェアを意味しますか?もしあれば、Ryzenチップセットを言うintel_iommuようです。amd_iommu
  2. iommuハードウェアIOMMUを強制的に使用しないと、どのような影響がありますかamd_iommu = off

より詳細な説明とソースコードへの直接リンクを読んでくださって本当にありがとうございます。

ありがとうございます!

ベストアンサー1

おすすめ記事