5700xt и периодические gpu hang системы

Всем доброго времени суток.
после недавнего обновления видеокарты на 5700xt начались возникать перезагрузки во время игр с применением dxvk как с использованием proton, так и wine со следующей ошибкой mce:
Aug 22 19:57:58 host kernel: mce: [Hardware Error]: CPU 21: Machine Check: 0 Bank 5: bea0000000000108
Aug 22 19:57:58 host kernel: mce: [Hardware Error]: TSC 0 ADDR 1ffff9b7cf7bc MISC d012000100000000 SYND 4d000000 IPID 500b000000000
Aug 22 19:57:58 host kernel: mce: [Hardware Error]: PROCESSOR 2:870f10 TIME 1598115466 SOCKET 0 APIC 19 microcode 8701013
Aug 22 19:57:59 host kernel: MCE: In-kernel MCE decoding enabled.
соответственно, до обновления подобных ситуаций не возникало.
нашёл две темы по данному вопросу:
1. https://bugzilla.kernel.org/show_bug.cgi?id=206903
2. https://gitlab.freedesktop.org/drm/amd/-/issues/892
в первой теме присутствуют пояснения, которые раскрывают суть ошибки;
mce: [Hardware Error]: CPU 3: Machine Check: 0 Bank 5: bea0000000000108 ==> Bank 5 is EX [21:16] = 0x0 CPU WDT (watchdog timeout) …means thread is not retiring micro-ops in the time-out period.

предпринимались следующие попытки, чтобы избежать повторения ситуации с зависаниями системы:
1. в качестве параметров ядра применялись следущие значения
amdgpu.ppfeaturemask=0xffffbffd
amdgpu.ppfeaturemask=0xffffbffe
amdgpu.ppfeaturemask=0xffffbffb
amdgpu.ppfeaturemask=0xffffbff8 - не загрузилась система
2. в /etc/enviroment добавил значение AMD_DEBUG=nongg,nodma
3. также в биосе поменял значение Power supply idle control с Auto на Typical Current Idle.
4. пробовал использовать иные драйвера vulkan amdgpu-pro-vulkan и amdvlk-2020.Q3.3, но результат тот же

на данный момент собираюсь попробовать wayland.
более подробное описание системы
System:    Host: host Kernel: 5.8.3-6 x86_64 bits: 64 Desktop: Xfce 4.14.2 Distro: Arch Linux
Machine:   Type: Desktop System: Gigabyte product: X570 AORUS PRO v: -CF serial: <superuser/root required>
           Mobo: Gigabyte model: X570 AORUS PRO v: x.x serial: <superuser/root required> UEFI: American Megatrends
           v: F12e date: 03/06/2020
CPU:       Info: 12-Core model: AMD Ryzen 9 3900X bits: 64 type: MT MCP L2 cache: 6144 KiB
           Speed: 3274 MHz min/max: 2200/3800 MHz Core speeds (MHz): 1: 3309 2: 3659 3: 3590 4: 3596 5: 3320 6: 3652
           7: 3392 8: 3903 9: 3222 10: 3011 11: 3594 12: 3589 13: 3146 14: 3589 15: 3590 16: 3589 17: 3594 18: 3916
           19: 3115 20: 3310 21: 3592 22: 3586 23: 3593 24: 3595
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
           driver: amdgpu v: kernel
           Display: x11 server: X.org 1.20.8 driver: amdgpu resolution: <xdpyinfo missing>
           Message: Unable to show advanced data. Required tool glxinfo missing. 
frankyboy
Machine Check: 0 Bank 5: bea0000000000108
Около года назад был топик на похожую тему ... и с таким же кодом MCE bea0000000000108
В том же топике есть ссылка на другой топик, точнее пост, в котором приведены разные параметры загрузки, помогающие некоторым в решении проблемы CPU freezes AMD Ruzen .... попробуй.
Ошибки не исчезают с опытом - они просто умнеют
vasek
frankyboy
Machine Check: 0 Bank 5: bea0000000000108
Около года назад был топик на похожую тему … и с таким же кодом MCE bea0000000000108
В том же топике есть ссылка на другой топик, точнее пост, в котором приведены разные параметры загрузки, помогающие некоторым в решении проблемы CPU freezes AMD Ruzen …. попробуй.
видел, но если я правильно понял, то проблема не в процессоре как таковом, а в системе динамического питания у видеокарты, ибо с параметром ядра amdgpu.dpm=0 перезагрузок не случается, но и игры особо не идут, так как указанный параметр сбрасывает частоты видеокарты до стоковых.

p.s. решил попробовать на всякий пожарный
frankyboy
если я правильно понял, то проблема не в процессоре как таковом, а в системе динамического питания у видеокарты
Так сразу и не определишь. Но если при каждом зависании выскакивает ошибка MCE, то это уже имеет отношение к cpu, а вот что первично, хрен поймешь.
На вскидку из простого видится одно - поставить утилиту типа mcelog, будет больше информации и плюс к этому можно оцениться, что появляется сначала (и за сколько по времени): ошибки MCE или зависание … и, думаю, если сначала появляются ошибки MCE, то первичен cpu, хотя могу и ошибаться.
PS - наличие MCE error указывает на то, что обнаружена аппаратная ошибка или сбой (могут быть как устранимые так и не устранимые). И как пишут, MCE могут возникать по разным причинам: от не соответствующих напряжений от источника питания, от космического излучения, изменяющего биты в модулях памяти DIMM или ЦП, или от других различных сбоев, включая сбой программного обеспечения вызывающий аппаратные ошибки.

В части изменения битов - судят по битовой маске mce, которая в твоем случае равна
10111110 10100000 00000000 00000000 00000000 00000000 00000001 00001000
            56            48             40              32            24             16               8             
и глядя на бит 57, равный 1, можно сказать, что ошибка именно cpu - наличие бита равного 1 говорит о наличии ошибки processor context corrupt … и если бы работала утилита типа mcelog, то она бы выдала, что типа такого
Kernel panic: "Machine check: processor context corrupt"
Я не спец в этом, выводы сделаны на основе чистой теории, так что могу и ошибаться и это вообще очень сложная тема и обычно пробуют все, что подвернется.

EDIT 1 - зачеркнул ошибочные суждения .... думаю, что все таки ошибки MCE вторичны, так как они чем то обусловлены, каким то фактором .... если исключить чисто аппаратную ошибку.
Ошибки не исчезают с опытом - они просто умнеют
vasek
Так сразу и не определишь
в общем, метался я между параметрами ядра, как в одном из баг репортов увидел про отключение функции Cool'n'Quiet в биосе.
пошуршал в биосе в поисках этой настройки, и наткнулся на ещё две штучки
-core performance boost
-global c-state constrol
плюс ещё подсказали вот эту статью https://habr.com/ru/post/517000/, в которой описываются некоторые моменты разногласий между ос и биос.
отключив указанные выше штучки пока ни одного вылета видимо это было какой-то удачей, что вылетов не случалось продолжительное время. только что случился один
frankyboy, опиши какие конкретно параметры помогли - может и еще кому пригодится.
Или я не верно понял ... и ничего не помогло?
Ошибки не исчезают с опытом - они просто умнеют
В первую очередь - убрать разгон памяти (если был ручной) или же отключить XMP профиль. От переразгона памяти имел похожие проблемы с ryzen 2600.
Уточнение в части использования параметра rcu_nocbs=… - данный параметр больше не работает в нашем ядре - вот с какого времени - не выяснял.
Сегодня копался во флагах config.gz и заметил, что данный параметр не установлен
zgrep RCU_NOCB /proc/config.gz
# CONFIG_RCU_NOCB_CPU is not set

PS - данный параметр многим помогал при зависаниях с cpu ryzen

EDIT 1 - попробуй ради интереса ядро из AUR linux-ryzen-git
The Linux kernel and modules (git version), with GCC optimization patch and Ryzen-friendly config flags (CONFIG_RCU_NOCB_CPU=y) to enable the rcu_nocbs=0-x boot argument
Ошибки не исчезают с опытом - они просто умнеют
marlock
В первую очередь - убрать разгон памяти (если был ручной) или же отключить XMP профиль. От переразгона памяти имел похожие проблемы с ryzen 2600.
с моей оперативной материнка xmp не применяет, хард резет биоса, пока руки не доходят вручную значения ввести, так что память на стандартных настройках работает.

vasek
zgrep RCU_NOCB /proc/config.gz
# CONFIG_RCU_NOCB_CPU is not set
извиняюсь, что несвоевременно отвечаю. к сожалению, ошибки mce и зелёный экран перед перезагрузкой случаются с разными периодами, после применения того или иного решения.
также гигабайт для моей материнской платы стал частенько клепать обновления биоса, поэтому я обнуляю (как это сейчас модно) всё и опять тестирую на повторение ошибок mce.
итого за сегодня:
ядро пересобрал с CONFIG_RCU_NOCB_CPU=y, добавил к параметрам ядра rcu_nocbs=0-23
также установил zenstates, чтобы отключить C6 state
zenstates -l
P0 - Enabled - FID = 98 - DID = 8 - VID = 48 - Ratio = 38.00 - vCore = 1.10000
P1 - Enabled - FID = 8C - DID = A - VID = 58 - Ratio = 28.00 - vCore = 1.00000
P2 - Enabled - FID = 84 - DID = C - VID = 68 - Ratio = 22.00 - vCore = 0.90000
P3 - Disabled
P4 - Disabled
P5 - Disabled
P6 - Disabled
P7 - Disabled
C6 State - Package - Disabled
C6 State - Core - Disabled
ещё нашёл что-то похожее на zenstates https://aur.archlinux.org/packages/ryzen-stabilizator-git/
frankyboy, смотрю основательно занялся проблемой - молодец.
Но, главное, при решении проблемы, как бы она не решилась, унал много нового ... а это когда-нибудь да пригодится ...
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.