Linus Torvalds mescla os próprios códigos para o kernel Linux 6.11

Linus Torvalds mescla os próprios códigos para o kernel Linux 6.11
tux

Está aberta oficialmente a temporada de desenvolvimento do novo kernel Linux 6.11. E o principal desenvolvedor, Linus Torvalds, já começa a trabalhar os próprios códigos para o kernel Linux 6.11 dentro da janela de mesclagem.

Linus Torvalds começou a janela de mesclagem do Linux 6.11 ontem mesclando alguns de seus próprios códigos de recursos para esta próxima versão do kernel.

Hoje em dia, Linus Torvalds não costuma ter tempo para codificar muitos novos recursos, trabalhando sozinho na supervisão de outros mantenedores do kernel, discutindo discussões na lista de discussão do kernel Linux e outros trabalhos. Mas ao iniciar a janela de mesclagem do Linux 6.11, ele acabou conseguindo algumas de suas próprias melhorias no kernel.

Linus Torvalds mescla os próprios códigos para o kernel Linux 6.11

As primeiras novas fusões para o Linux 6.11 foram suas ramificações em constantes de tempo de execuçãoword-at-a-timearm64-uaccess e link_path_walk.

Torvalds explicou no novo código de constantes de tempo de execução:

“Esta é uma das quatro ramificações que surgiram de mim olhando para perfis da carga do meu sistema de arquivos de compilação do kernel no meu sistema Altra arm64 de 128 núcleos, onde o nome do caminho andando e as cópias do usuário (particularmente strncpy_from_user() para buscar o nome do caminho no espaço do usuário) é muito quente.

Este é um modelo de “alternativas de instrução” muito especializado onde o ponteiro de hash dentry e a contagem de hash serão constantes durante a vida útil do kernel, mas a alocação não é estática, mas feita no início da inicialização do kernel. Para evitar a carga do ponteiro e a mudança dinâmica, apenas reescrevemos as constantes nas instruções no lugar.

Não podemos usar a infraestrutura de instruções alternativas “genéricas”, porque arquiteturas diferentes fazem isso de forma muito diferente, e na verdade é mais simples ter apenas auxiliares muito específicos, com um fallback para o modelo genérico (“antigo”) de apenas usar variáveis para arquiteturas que não implementam a infraestrutura de patch constante de tempo de execução.”

Esses patches foram discutidos na lista de discussão do kernel nas últimas semanas. Essas melhorias decorrem de sua criação de perfil em sua estação de trabalho ARM Ampere Altra Max de 128 núcleos e da descoberta de algumas áreas menos ideais do código do kernel ARM64.

Portanto, parece que a decisão da Ampere Computing de enviar a Linus Torvalds um sistema Ampere Altra Max está realmente valendo a pena para otimizações de kernel Linux upstream para ARM64.