Linus Torvalds diz que falta muito teste para o Linux 6.8 DRM

Linus Torvalds cria guias para impedir que os analisadores Kconfig não os manipulem corretamente
Linus Torvalds garante que, após 30 anos, Linux não é um projeto morto

O desenvolvedor Linus Torvalds voltou a falar sobre o Linux 6.8 DRM que, segundo ele, “Está faltando muito teste” a ser realizado nesta versão. Portanto, corre o risco de haver atrasos ou de nem tudo ser implementado imediatamente nesta versão.

Embora as atualizações do driver de vídeo/gráfico do kernel Direct Rendering Manager (DRM) para Linux 6.8 incluam os novos drivers Intel “Xe” DRM e PowerVR Imagination, propriedades de gerenciamento de cores AMD em forma experimental, suporte gráfico Raspberry Pi 5 e muito mais, Linus Torvalds não está satisfeito com alguns dos novos códigos do driver Intel Xe.

Linus Torvalds é conhecido ao longo dos anos por expressar ocasionalmente suas frustrações sobre a qualidade do código do driver gráfico. Ele expressou frustrações com a qualidade do código do driver DRM ao longo dos anos e, ocasionalmente, por ter que rejeitar o código DRM. Com o Linux 6.8, ele expressou frustrações na lista de discussão do kernel Linux sobre testes que estão “faltando seriamente” quando se trata de pedaços do novo código da unidade Intel Xe.

Linus Torvalds diz que falta muito teste para o Linux 6.8 DRM. Ele escreveu na lista de discussão do kernel:

“Os testes estão seriamente ausentes. Isso nem constrói. O motivo parece ser que o commit b49e894c3fd8 (“drm/i915: Substitua o rastreador intel runtime_pm personalizado pela biblioteca ref_tracker”) alterou o tipo ‘intel_wakeref_t’ de ‘depot_stack_handle_t’ para ‘unsigned long’ e, como resultado, fez o seguinte:

  • -drm_dbg (&i915->drm, “async_put_wakeref %u\n”,
  • drm_dbg(&i915->drm, “async_put_wakeref %lu\n”,
    power_domains->async_put_wakeref);

enquanto isso, o driver Xe tem isto:

drivers/gpu/drm/ xe/compat-i915-headers/intel_wakeref.h:
typedef bool intel_wakeref_t;

que nunca foi válido, mas agora a compilação falha com

drivers/gpu/drm/i915/display/intel_display_power.c: Na função ‘print_async_put_domains_state’:
drivers/ gpu/drm/i915/display/intel_display_power.c:408:29: erro: formato ‘%lu’ espera argumento do tipo ‘long unsigned int’, mas o argumento 5 tem tipo ‘int’ [-Werror=format=]

porque o arquivos de cabeçalho drm têm essa coisa nojenta onde um arquivo header inclui um arquivo C:

No arquivo incluído em ./include/drm/drm_mm.h:51,
em drivers/gpu/drm/xe/xe_bo_types.h:11 ,
de drivers/gpu/drm/xe/xe_bo.h:11,
de
./drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h:11,
de ./drivers/gpu/drm/ xe/compat-i915-headers/i915_drv.h:15,
de drivers/gpu/drm/i915/display/intel_display_power.c:8:

desagradável.

Eu o criei consertando aquele arquivo de cabeçalho de compatibilidade do Xe quebrado, mas definitivamente NÃO é assim que as coisas deveriam ter funcionado. Como isso chegou até mim sem qualquer tipo de teste de construção?

E por que %^!@$% um arquivo de cabeçalho inclui um arquivo C? Isso está errado, independentemente desse bug.”

Mensagem inofensiva

A mensagem é bastante inofensiva em comparação com algumas das correspondências anteriores de Torvalds de anos atrás, mas levanta questões válidas sobre como esses problemas do driver Xe não foram detectados. Seus comentários podem ser encontrados no LKML enquanto espera para ver se algum desenvolvedor se manifesta e responde.

De qualquer forma, Linus foi em frente e fundiu o novo código para Linux 6.8. Esperamos que este seja apenas um problema único para o driver Intel Xe e não parte de problemas maiores de qualidade de código.

Acesse a versão completa
Sair da versão mobile