GPUをRadeonからバインド解除しようとすると、システムがフリーズするのはなぜですか?

GPUをRadeonからバインド解除しようとすると、システムがフリーズするのはなぜですか?

今私はこれを達成しようとしています。http://arseniyshestakov.com/2016/03/31/how-to-pass-gpu-to-vm-and-back-without-x-restart/

ホストコンピュータですべての操作が完了しました。 DRI_PRIMEは以下のようにうまく機能します。

 $ DRI_PRIME=1 glxinfo | grep "renderer string"
 OpenGL renderer string: Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.7.1)

 $ glxinfo | grep "renderer string"
 OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Server

問題は、次のスクリプトを使用してGPUをradeonからvfio-pciに移動しようとすると、システムが完全にフリーズすることです。

#!/bin/bash
set -x
echo "1002 67b1" > /sys/bus/pci/drivers/vfio-pci/new_id
echo "0000:01:00.0" > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
echo "0000:01:00.0" > /sys/bus/pci/drivers/vfio-pci/bind
echo "1002 67b1" > /sys/bus/pci/drivers/vfio-pci/remove_id

echo "1002 aac8" > /sys/bus/pci/drivers/vfio-pci/new_id
echo "0000:01:00.1" > /sys/bus/pci/devices/0000:01:00.1/driver/unbind
echo "0000:01:00.1" > /sys/bus/pci/drivers/vfio-pci/bind
echo "1002 aac8" > /sys/bus/pci/drivers/vfio-pci/remove_id

set +x

echo "0000:01:00.0" > /sys/bus/pci/devices/0000:01:00.0/driver/unbind 私ができる唯一のことは、電源ボタンを介してシステムの電源を切ることです。

Journalctlを確認したところ、システムが停止した後もこのようなことが続くことがわかりました。

Apr 02 11:13:12 joey-arch-pc kernel: WARNING: CPU: 1 PID: 7293 at drivers/gpu/drm/radeon/radeon_gart.c:246 radeon_gart_unbind+0xca/0xe0 [radeon]()
Apr 02 11:13:12 joey-arch-pc kernel: trying to unbind memory from uninitialized GART !

Journalctlの残りのメッセージと呼び出し追跡は次のとおりです。http://pastebin.com/L0asXS16

Google で同様のバグレポートをたくさん見つけましたが、かなり古いものです。同様の問題に関連するさまざまなパッチがたくさんあることがわかりましたが、この種のパッチの経験がないので、どちらが最善かわかりません。 "ホットプラグ:バグ#61891パッチの親エントリに"ホットプラグを無視する"設定を伝播しようとしましたが、動作しませんでした。さまざまなパッチを試してみることもできますが、盲目的に複数のパッチを試してみると、時間を無駄にする前にここに投稿して、解決策があるかどうかを確認する方が論理的であると思いました。

編集:GARTに関するメッセージを受け取る前に、次のメッセージを受け取ったことに気づきました。

Apr 02 11:13:12 joey-arch-pc kernel: radeon 0000:01:00.0: Userspace still has active objects !

また、アップデート:最新のカーネルとAMDGPUドライバ(CI用なので実験的)を試して、どのように進むかを確認する予定です。それ以外には進展はありませんでした。

ベストアンサー1

おすすめ記事