LINUX.ORG.RU

Vega11 периодически отваливается (РЕШЕНО)

 , ,


2

1

Имеется Ryzen 5 2400G со встроенной Vega 11. Штука крайне замечательная, НО иногда видеоядро просто отключается: на экране монитора появляется надпись о том что «источник сигнала не найден» а комп можно перезагрузить только хардресетом. Естественно в tty* перейти не выходит (если бы упали иксы, думаю консоль бы все-равно бы работала?).

amdgpu.dc=1 прописал, не помогает.

Частенько падает, при запущенной игре «Beyond two souls» через Вайн. Второе место по падениям занимает эмулятор Yuzu.

В иных случаях падает реже (закономерности выявить не удалось). Падения не зависят от нагрузки на CPU/GPU/RAM/HDD. Иногда может «просто случиться» на ровном месте.

В dmesg после отвала GPU заглянуть само-собой нет возможности.

Дрова - свободные Дистр - Arco Linux mesa - 21.0.1-1

★★

Последнее исправление: Vochatrak-az-ezm (всего исправлений: 1)

Возможно нелишним будет перегенерить initramfs после всего.

sudo mkinitcpio -g /boot/initramfs-linux.img (или как он у вас там называется).

Vochatrak-az-ezm ★★
() автор топика
Ответ на: комментарий от Vochatrak-az-ezm

Аналогично были зависоны на r7 3700U c Vega10, потом либо добавил параметры amdgpu.lockup_timeout=1000 amdgpu.gpu_recovery=1 amdgpu.noretry=0 amdgpu.ppfeaturemask=0xfffd3fff либо ядро обновил (сейчас 5.14), но зависоны прекратились. А одно время прям часто было, восстанавливалось через раз. Замучался перезагружать систему..

FFSinit ★★
()
Ответ на: комментарий от FFSinit

У тебя хоть иногда восстанавливалось…

От ядра мало зависит, я разные перепробовал. Было более-менее на 5.4 по моему, но там другие проблемы влазили.

Vochatrak-az-ezm ★★
() автор топика

Приветствую! У меня R3 2200G тоже стабильнее всего на 5.6 работает.

Далее, в принципе, общие соображения, но кому-нибудь могут быть интересны.

Предполагаю, что там виснет PCIe мост на iGPU. Он точно так же зависает и с dGPU. И лочит клавиатуру и мышь. Такое впечатление, что проблема в дешевой реализации PCIe, где заканчиваются буферные кредиты во время шторма пересылок левых фреймов при неадекватном поведении iGPU/dGPU. Поэтому «альтернативный роутинг» и помогает, судя по всему.

Без «альтернативного роутинга»: AER PCIe Bus Error -> Bad TLP -> зависание моста -> лочка видеокарты и клавиатуры. И кстати, даже если iGPU/dGPU успешно обресетятся, мост-то уже висит и общение с устройствами невозможно. В случае APU, возможно, PCIe мост ещё проще (по конструкции) и лочит шину полностью, и логгирование на диски становится невозможным: соответственно, и AER в логах нет совсем, а в реальности есть.

Имхо, логическая цепочка бага без «альтернативного роутинга» PCIe:

1. ядро CPU (процесс компилятора) формирует бинарный код шейдера
2. бинарный код шейдера застревает в кэше CPU и не сбрасывается в RAM
3. идет команда на запуск шейдера
4. CU GPU идёт по мусорному коду из RAM вместо правильного шейдера
5. GPU запрашивает левые PCIe устройства снова и снова
6. мост PCIe говорит: BadTLP, невосстановимая ошибка
7. буферы PCIe моста забиваются
8. связь с видеокартой, клавиатурой и мышью прекращается,
   т.к. разные логически PCIe мосты реализованы через 1 физическое устройство
9. идёт сброс iGPU / dGPU
10. сброс iGPU / dGPU успешно завершён, но связь с устройством невозможна
11. возможно не завис PCIe мост на чипсет платы,
    - если он реализован независимой физической схемой со своими буферами,
      в этом случае возможна перезагрузка с инициацией через сеть,
    - иначе фактически PCIe полностью залочена,
      компьютер недоступен по сети,
      и возможна только некорректная перезагрузка

логическая цепочка бага с «альтернативным роутингом» PCIe:

1. ядро CPU (процесс компилятора) формирует бинарный код шейдера
2. бинарный код шейдера застревает в кэше CPU и не сбрасывается в RAM
3. идет команда на запуск шейдера
4. CU GPU идёт по мусорному коду из RAM вместо правильного шейдера
5. GPU запрашивает левые PCIe устройства снова и снова
6. мост PCIe говорит: восстановимая ошибка
7. буферы PCIe моста доступны
8. связь с видеокартой, клавиатурой и мышью продолжает работать
9. идёт сброс iGPU / dGPU
10. сброс iGPU / dGPU успешно завершён, связь с устройством возможна
11. сброс iGPU / dGPU не приводит к их работоспособности,
    т.к. недостаточна(?) поддержка ПО на разных уровнях для этого,
    но возможна корректная перезагрузка.

Самый критичный п.2, без него всего остального просто не будет.

Так что, думаю, vega11 тут не причём. Полагаю, что просто zen2 и zen3, судя по всему, более агрессивно сбрасывают свои кэши в RAM, поэтому проблема некогерентности проявляет себя реже, но никуда не девается и на APU с ними, и с дискретками.

Т.е. идентичные ошибки вылазят и на iGPU и на dGPU. Поэтому нужна доработка архитектуры. Архитектуры Gen-Z / CXL похожи на выход из ситуации с некогерентностью кэшей, но, соответственно, только уже с RDNA2 и выше, и только, если будет официально заявлена их поддержка.

anonymous
()

Попробуй отключить Global C-State Control в bios.

axle_nix ★★
()
Ответ на: комментарий от anonymous

проблема 2 должна по идее решаться маппингом с write-thru битом, и mfence по окончанию записи. но в лилупсе конечно же этого нет нихера.

но тут более интересно то, что если проблема такова, как её описывают, это же ШЕРЕТО. что мне мешает честно накидать мусора вместо шейдера?

salozar
()
Ответ на: комментарий от anonymous

и да, даже мусорный код не должен приводить к долбёжке в «левые устройства». есть до 128 ресурсов, которые может использовать шейдер, каждому задана апертура в памяти(сегмент памяти грубо говоря), и эти адреса проходят через mmu видеокарты. этот mmu не должен смотреть никуда кроме памяти видяхи и системной памяти.

salozar
()
13 июня 2022 г.
Ответ на: комментарий от anonymous

чушь, неисправный косяк это как обычно кривые ручки красноглазика, который захотел чтобы у него работало opencl, или же дрова амд, или ещё какой-нибудь бред типа rocm, которые никогда нормально не работал на apu веге

devorg ★★
()
Ответ на: комментарий от anonymous

стабильнее всего на 5.6 работает.

откуда 5.6 ядро, если даже в дебиане 5.17 уже

хотя в любом случае не было никаких зависаний у Raven Ridge на ядре 5.6, вот где-то с ядром 4.17 да, были проблемки

devorg ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.