Desde o kernel Linux 5.19, houve muitos relatos no Twitter, Reddit ou fóruns, e em outros lugares sobre usuários de drivers AMD Radeon de código aberto que muitas vezes aparecem no logon do kernel em torno de das “Timed Out Fences”. Uma correção para este bug de travamento para os jogadores da AMD parece que ele vai chegar ao kernel Linux 6.2.
Ao longo dos últimos meses tem havido uma série de reclamações em torno do driver AMDGPU travando e em comum com esses relatórios de bugs desde que o Linux 5.19 tem visto mensagens “*ERROR* À espera de cercas cronometradas!”,” mensagens. Tem havido um grande número de usuários do AMD Radeon Linux relatando tais problemas desde o Linux 5.19, especialmente quando executam jogos exigentes com GPUs Radeon RX modernas.
Os engenheiros da AMD tiveram dificuldade em reproduzir o problema surpreendentemente, mas agora têm e há alguns patches pendentes que acreditam resolver esse problema.
AMD Linux corrige falha “Timed Out Fences”
O desenvolvedor de drivers gráficos AMD Linux de longa data Christian König finalmente foi capaz de reproduzir o problema localmente e rapidamente conseguiu alguns patches pendentes. As manchas introduzem uma nova bandeira “DRM_SCHED_FENCE_DONT_PIPELINE” que impede a tubulação de trabalhos dependendo desta cerca e, em seguida, vai em frente e faz uso desta nova bandeira para atualizações VM. Isso garante que sempre haja uma cpu de ida e volta para permitir que o código de envio decida corretamente se um flush TLB é necessário. Isso, por sua vez, parece cuidar desses problemas irritantes desde o Linux 5.19.
Esses patches foram empurrados para “amd-staging-drm-next”, que é o código definido para DRM-Next. Assim, parece que este novo código não será mesclado até a janela de mesclagem do Linux 6.2, enquanto veremos depois disso se ele acabar sendo portado de volta para séries estáveis de kernel anteriores.
Entre as críticas a este bug em outros lugares, há um longo anúncio de bug onde nos últimos três meses muitos usuários têm expressado o problema e, finalmente, onde a correção foi anunciada.