Почему моя система замерзает, когда я пытаюсь развязать 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 ! 

Вот остальные сообщения из журналаctl со следами вызовов: http://pastebin.com/L0asXS16

Я нашел много похожих сообщений об ошибках через google, но они были довольно старыми. Существовал широкий спектр различных патчей, которые я нашел, связанных с подобными проблемами, но поскольку я неопытен с такими вещами, я не был точно уверен, какой будет лучший патч для использования. Я попытался «hotplug: распространять параметр« ignore hotplug »для родителя для исправления # 61891« patch », но это не сработало. Я мог бы попробовать кучу разных патчей, но я подумал, что было бы логичнее публиковать здесь и посмотреть, есть ли у кого-то решение, прежде чем я теряю время, слепо пробую кучу патчей.

Редактирование: я просто понял, что до сообщений о GART я получаю это сообщение:

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

Кроме того, обновление: я планирую попробовать новейшее ядро, а также драйверы AMDGPU (для CI, так экспериментально) и посмотреть, как это происходит. Помимо этого, прогресс не был достигнут.