Para aqueles que esperam até o primeiro lançamento antes de passar para uma nova série estável, o Linux 5.1.1 acaba de sair. Pouco menos de uma semana após o lançamento do kernel do Linux 5.1 , o Linux 5.1.1 estável foi lançado pelo mantenedor Greg Kroah-Hartman. Assim, Linux 5.1.1 lançado com algumas correções.
Sem surpresas
Como um sinal de um bom lançamento do kernel, o Linux 5.1.1 não é tão surpreendente e nem carrega muitos patches. O Linux 5.1.1 tem um monte de correções relacionadas a USB, Bluetooth e algumas outras correções obscuras, sem nenhuma alteração importante a ser observada. Algumas IDs PCI do Intel Comet Lake também foram redirecionadas para o Linux 5.1, mas mais do suporte do Comet Lake é previsto para o Linux 5.2.
Todas as mudanças do Linux 5.1.1 podem ser encontrada através da lista de discussão do kernel. Veja um resumo dos recursos do Linux 5.1 para saber mais sobre esta última atualização estável do kernel. Para aqueles que ainda estão no Linux 5.0, a versão 5.0.15 também foi lançada neste final de semana.
O Linux 5.2 verá sua janela de mesclagem aberta por mais uma semana, seguida por aproximadamente oito semanas de candidatos a lançamento, colocando a próxima versão estável do kernel em julho.
Driver NULL TTY
Inicialmente houve alguma preocupação com a praticidade e os casos de uso para este driver, o NULL TTY foi fundido para o kernel Linux 5.2 como parte das atualizações TTY/serial.
Esse driver NULL TTY foi projetado para casos específicos em que nenhum driver de console está presente ou desejado. Este driver NULL TTY é principalmente para satisfazer componentes como scripts de init que tentam acessar o /dev/console. Então, agora ele pode usar este driver dummy /null que por sua vez não será exibido em nenhum lugar. Tudo isso faz com que o driver descarte as gravações.
Este driver NULL TTY quando habilitado será automaticamente carregado. Isso quando nenhum outro driver de console estiver presente ou se o kernel inicializar com a substituição console = ttynull .
Além desse novo driver, não há muito o que destacar nas alterações TTY/serial no Linux 5.2.
Linux 5.2 Live-Patching faz uso da opção do GCC 9
Se você usar o patch live do kernel Linux ou até mesmo tiver o CONFIG_LIVEPATCH ativado, ao mudar para o Linux 5.2 e construir com o GCC 9, o desempenho pode ser afetado em cargas de trabalho selecionadas.
As atualizações da infraestrutura de livepatching foram enviadas para a janela de mesclagem do kernel Linux 5.2. As mudanças não são muito empolgantes. Porém, incluem a mudança anteriormente delineada de ativar a opção live-patching do GCC 9. Isso faz parte da compilação do kernel quando o CONFIG_LIVEPATCH está ativado.
O novo lançamento do compilador GCC 9 trouxe esta opção de compilador live-patching. Isso desativará algumas otimizações que poderiam interferir ou causar problemas em como os binários de patch são manipulados. É um sinalizador de segurança para garantir que o código gerado seja seguro para uso em um contexto de atualização.
Miroslav Benes, da SUSE, que conseguiu essa mudança, descobriu:
O impacto no desempenho da opção foi medido em três máquinas Intel diferentes – duas caixas NUMA maiores e uma caixa UMA menor. Kernel intensivo (IO, agendamento, redes) benchmarks foram selecionados, além de um conjunto de cargas de trabalho HPC do NAS Parallel Benchmark. Os testes foram feitos no kernel upstream 5.0-rc8 com o userspace do openSUSE Leap 15.0. A maioria dos testes não é afetada. A única exceção significativa é a seção do agendador, que sofre uma degradação de 1-3%.
Além disso, não há muito para o PR livepatching para Linux 5.2.
As otimizações de FPU x86 estão no Linux 5.2
Acaba a primeira semana de alterações para a janela de mesclagem do Linux 5.2. Assim, uma série de correções fornecendo algumas otimizações de FPU x86 foi mesclada. Porém, há alguma preocupação de que possa haver regressões no hardware mais antigo.
A série de patches que está em andamento há algum tempo está otimizando para carregar os registros de FPU. Fazendo isso apenas ao retornar ao espaço do usuário e não a todos os switches de contexto. As mudanças também tornam mais fácil chamar o kernel_fpu_begin () e no processo também limpa alguns dos códigos FPU reconhecidamente complexos do kernel. Mais detalhes sobre essa limpeza de código e otimizações através desta mensagem.
Em relação a estas otimizações, Linus Torvalds aprovou e até as prevê para o Linux 5.2. No entanto expressou preocupação com a possibilidade de regressões:
Eu amo isso e deveríamos ter feito há muito tempo, mas também me preocupo com o fato de que toda vez que mexemos com o estado do FP, tivemos erros importantes. Esse é o motivo de não termos feito a mudança antes.
Isto passou por muitos testes, particularmente com coisas como manipulação de sinal FP e máquinas antigas que não necessariamente têm nada além do estado FP mais básico (isto é, classe Pentium etc)?
Eu puxei, mas eu ainda gostaria de me sentir mais seguro sobre isso depois do fato;)