FERRAMENTAS LINUX: O Driver Linux NVIDIA 535.54.03 foi lançado com as atualizações do Vulkan, protocolo DMA-BUF v4 Wayland

quinta-feira, 15 de junho de 2023

O Driver Linux NVIDIA 535.54.03 foi lançado com as atualizações do Vulkan, protocolo DMA-BUF v4 Wayland

 


Thomas Gleixner, e sua equipe da Linutronix, que foram adquiridos pela Intel no ano passado, estão trabalhando na limpeza do processo de inicialização do Linux x86/x86_64. Eles recentemente enviaram uma série de 17 patches que afetam o código de inicialização do kernel Linux e propuseram outras mudanças em toda a árvore para discussão.

O objetivo principal dessa iniciativa é limpar o código de inicialização do x86 no Linux. Thomas Gleixner explicou que eles estão focando na revisão completa da avaliação da CPUID, que atualmente é construída com componentes desatualizados, correções temporárias e soluções provisórias. 

Uma meta relacionada é mover a inicialização de infraestrutura desnecessária para uma fase posterior do processo de inicialização. A inicialização inicial já é complicada e suscetível a falhas, então qualquer componente que possa ser adiado para uma fase posterior é considerado uma vitória. Um exemplo óbvio disso é a inicialização do X86 FPU, que não precisa ser feita tão cedo. A única exigência é que seja concluída antes do patch alternativo. Realizar a inicialização mais tarde também permite evitar análises personalizadas na linha de comando, o que é possível quando a inicialização é realizada posteriormente.

O patch alternativo ocorre em check_bugs(), que é invocado mais adiante em start_kernel(). Adiar a inicialização do FPU até esse ponto é problemático porque check_bugs() é invocado após fork_init(), mas fork_init() requer que o FPU seja inicializado no X86, uma vez que o tamanho do task_struct depende do tamanho do buffer de registros do FPU.

Para evitar adicionar mais complexidade ao código, a equipe decidiu mover o check_bugs() para um estágio anterior e analisar todas as suas instâncias para verificar se há algum motivo válido para fazer isso tão tarde. Descobriu-se que não há razões justificáveis para atrasar essa parte do código (embora essas sejam palavras famosas na área), mas também revelou que check_bugs() se tornou um repositório confuso de tarefas de finalização da inicialização da CPU antes de prosseguir com o restante do código init.

Essa série inicial de 17 patches tem como objetivo limpar o código de inicialização do Linux x86. É um esforço louvável que segue o trabalho recente de Gleixner no suporte à inicialização paralela de CPU, programado para o Kernel Linux 6.5, que é outra melhoria importante para o processo de inicialização.




Fonte

Até a próxima !!





Nenhum comentário:

Postar um comentário