
No início de agosto, Linus Torvalds apresentou uma nova versão do kernel Linux. De acordo com uma longa tradição, o lançamento do maior projeto de código aberto em si acontece de forma bastante rotineira, o criador escreve um e-mail para os colegas do workshop com um breve resumo da nova versão estável do kernel.
Uma característica do kernel 5.8 foi o número recorde de mudanças ao longo de toda a existência do projeto. Houve apenas uma versão principal do kernel Linux 4.9, mas que foi artificialmente inchada devido ao novo subsistema greybus, enquanto o 5.8 incorporou mais mudanças em muitas direções diferentes. Vamos ver o que é tão útil e interessante no Linux 5.8 e ao mesmo tempo 5.8.1, principalmente para usuários comuns e estações de trabalho.
O patch de 64 MiB contém o trabalho de desenvolvedores de 1991, incluindo 304 novos. Os esforços da comunidade adicionaram 904K e removeram 553K linhas de código. Se você olhar para as empresas, verá nomes familiares entre os mais ativos.
- Intel;
- Huawei Technologies;
- Habana Labs;
- Chapéu vermelho;
- Google;
- Linaro;
- IBM;
- AMD;
- Mellanox;
- SUSE;
Gráficos
A maior parte da base de código do kernel do Linux é ocupada por drivers, então não é de todo surpreendente que uma parte significativa das mudanças e atualizações de lançamento sejam dedicadas a eles.
Adreno 405/640/650 suporte ao driver GPU
Graças à atualização de driver aberto MSM (Freedreno), foi adicionado suporte para GPUs Qualcomm Adreno 405, 640 e 650. Essas GPUs móveis podem ser vistas em alguns dos mais recentes SoCs (sistema em um chip), como Snapdragon 855+ e Snapdragon 865. Esses chips pode ser encontrado nos smartphones Samsung Galaxy S10 / S20, OnePlus e muitos outros gadgets.
Ao mesmo tempo, no âmbito das APIs abertas OpenGL e Vulkan, os drivers Adreno continuam a se desenvolver, respectivamente com Freedreno Gallium3D e TURNIP. Novas mudanças serão incluídas no Mesa 20.2-devel.
Numerosas melhorias para drivers amdgpu
A AMD saiu de seu caminho para melhorar a qualidade dos drivers gráficos no Linux 5.8. Junto com o desempenho aprimorado, a capacidade de usar buffers de memória de vídeo criptografados (Zona de memória confiável) foi implementada.
A AMD Radeon Trusted Memory Zone foi projetada para proteger as páginas selecionadas de serem lidas pela CPU e outros clientes não GPU e para evitar gravações em páginas protegidas por TMZ.
Além disso, o suporte ao formato de pixel FP16 foi adicionado ao driver e um extenso trabalho foi concluído para fornecer compartilhamento de buffer DMA ponto a ponto entre dispositivos (p2p DMA-BUF) sem suporte para páginas de memória do sistema.
Sistemas de arquivos
Próximas atualizações dos polêmicos Btrfs, FAT, exFAT e outros.
Aprimoramentos diversos do Btrfs
OpenSUSE e SUSE Linux são um dos poucos que usam o Btrfs como sistema de arquivos principal. Não é novidade que o SUSE lançou vários patches para esse sistema de arquivos. Como resultado, o Btrfs melhorou o tratamento de leitura de E / S.
- O código de E / S direto foi transferido para interfaces iomap;
- agora, quando a exclusão de um volume aninhado falha devido à falta de espaço, o sistema de arquivos não entra no modo somente leitura;
- eliminação de vários defeitos e limpeza do código.
Compressão usando o algoritmo LZO-RLE em F2FS
Uma nova adição notável ao Flash Friendly File System no novo kernel do Linux é o formato de compactação LZO-RLE. A codificação LZO Run-Length tem como objetivo as mesmas taxas de compressão do algoritmo LZO padrão, mas com desempenho superior. Isso se tornou possível depois que a implementação do LZO-RLE foi inserida no kernel no ano passado pelo ARM.
Suporte para verificar a área de inicialização exFAT
A Samsung introduziu melhorias exFAT para o kernel Linux 5.8 e a nova versão do driver contém várias correções e otimizações. Em particular, o código foi limpo, o registro foi aprimorado e a função de armazenamento em cache do registro foi otimizada. Além disso, os engenheiros da empresa adicionaram uma nova funcionalidade - verificar a área de inicialização para exFAT.
Melhorando o desempenho de E / S SMB v3 / CIFS
Foi definido um novo parâmetro nodelete, com o qual o cliente pode fazer verificações regulares no servidor, mas é proibido excluir arquivos e pastas. Os patches do SMB v3 incluem melhorias significativas de desempenho para E / S grandes ao usar multicanal, bem como correções DFS.
Carregamento FAT Eager aprimorado de itens
A leitura antecipada de registros FAT na versão anterior era muito simples, mas apresentava algumas desvantagens que a tornavam ineficiente em alguns ambientes.
Graças ao mecanismo de atualização da janela de leitura antecipada até o esgotamento total e às bdi-> ra_pages personalizáveis, obtivemos melhorias de desempenho significativas. O teste foi realizado em um drive USB lento de 2 TB e o resultado foi uma redução do tempo de teste de 383 para 51 segundos.
Suporte DAX para Ext4 e XFS
DAX, ou Direct Access, é projetado para acessar diretamente o sistema de arquivos, ignorando o cache da página. Ignorar o cache de página no modo DAX significa eliminar uma cópia extra de leitura / gravação para o dispositivo de armazenamento. Isso, por sua vez, permite que o dispositivo de armazenamento seja mapeado para o espaço do usuário de forma direta e mais eficiente.
Esses aprimoramentos de código DAX da Intel permitem que o modo de acesso direto seja habilitado para cada inode, em vez de apenas habilitar ou desabilitar todo o sistema de arquivos. Além disso, usando a chamada de sistema statx (), você pode consultar o estado de acesso direto a um arquivo específico do espaço do usuário.
Subsistema de rede
A pilha TCP / IP do kernel Linux ocupa um lugar especial no quadro geral, tendo em vista a significativa complexidade da arquitetura e as enormes possibilidades de uso em uma ampla variedade de dispositivos. A infraestrutura de rede, mais do que outras, garante o domínio do sistema operacional Linux nos servidores e continua a evoluir aos trancos e barrancos.
- Netfilter, o módulo nftables fornece atualizações dinâmicas de dispositivos para tabelas de fluxo;
- * MRP, suporte adicionado para Protocolo de Redundância de Mídia - padrão de rede IEC 62439-2. O protocolo permite fornecer resiliência a falhas de rede, combinando vários switches Ethernet em um anel, sendo mais rápido que o STP.
- bluetooth, novos drivers para Realtek RTL8761B, Intel Typhoon Peak e Qualcomm QCA6390;
- lx5/mlx5e, Mellanox , 10, 40 100 . mlx5 mlx5e TLS, IPsec, MPLS ;
- rnbd, RNBD RDMA RTRS. , - .
Wi-Fi
- ath10k - VHT160 VHT80+80. Qualcomm Atheros IEEE 802.11ac Wifi 5(802.11ac).
- O driver iwlwifi agora oferece suporte a ACPI DSM (método específico do dispositivo) para novos chips Intel.
Atualizações IPv6
- A pilha Ipv6 tem suporte para MPLS;
- Adicionado encapsulamento IPv6 para ESP sobre transporte UDP e TCP;
- Foi implementado o suporte RFC 6069. O padrão descreve o algoritmo TCP Long Connectivity Disruptions, que fornece a capacidade de tornar o transporte TCP mais resistente a falhas de comunicação de longo prazo.
Segurança
Isso inclui correções relacionadas a falhas de segurança da Intel, como Spectre, SELinux, bloqueio de módulos do kernel com execução e escrita de bits, gerador de números aleatórios, etc.
Correções de espectros
É claro que a Intel não irá cumprir em demasia seu plano de resolver todas as consequências da vulnerabilidade da classe Spectre em seus chipsets tão cedo.
Estamos falando sobre várias correções urgentes para o kernel do Linux para lidar com a execução especulativa de instruções x86 / x86_64. Isso aconteceu depois que um engenheiro de segurança do Google descobriu a vulnerabilidade e o fato de que uma das correções anteriores, como efeito colateral, afetou os processadores AMD.
Barreira indireta de previsão de ramificação (IBPB) - a proteção contra ataques do buffer de ramificação de destino para a segunda versão do Spectre será desativada à força no Linux. A condição é cenários em que STIBP não está disponível ou Indirect Restricted Branch Speculation (IBRS) está disponível.
Chips e chipsets
Houve muitas mudanças no Linux 5.8 para a arquitetura ARM.
Suporte de inicialização inicial para processadores Power 10
O Power 10 é um futuro processador da IBM e da OpenPOWER Foundation, com previsão de venda em 2021 e será fabricado usando um processo de 7 nm. De acordo com dados preliminares, o novo chip oferece melhorias significativas em relação à microarquitetura Power 9.
Além do suporte básico de inicialização para a arquitetura Power 10, o kernel Linux 5.8 também oferece suporte ao conjunto de instruções prefixadas Power 10.
Suporte para novos SoCs ARM
Em linha com o progresso do subsistema do kernel Linux para Android, o seguinte foi adicionado à lista de dispositivos suportados:
- Realtek RTD1195 como solução Arm Cortex A7;
- Realtek RTD1395;
- Realtek RTD1619;
- Plataforma Renesas RZ / G1H;
- Orçamento de 64 bits Rockchips RK 3326 SoC junto com o console de jogo Odroid-GO Advance;
- Caixa de TV Smartlabs SML-5442TW baseada em AMLogic S905D;
- ODROID-C4 baseado em AMLogic S905X3;
- Caixa de TV Beelink GT-King Pro baseada em AMLogic S922XH;
- Controlador de gerenciamento de placa de base baseado em Aspeed ast 2500 no Facebook x86 Yosemite V2 e YADRO OpenPower P9 Nicole ;
- Olimex A20-OLinuXino-LIME-eMMC SBC;
- Roteador Check Point L-50;
- Chromebooks Elm / Hana baseados em Mediatek MT8173;
- Smartphone Samsung Galaxy S2 baseado no Samsung Exynos 4210;
- Plataforma Qualcomm SDM660 / SDM630 e smartphone Xiaomi Redmi Note 7;
- Caixa de TV Xnano X5 baseada em Realtek RTD1295;
Novo driver AMD Energy
O novo e aguardado driver AMD Energy para monitorar sensores de energia nos processadores Zen / Zen 2. Isso permite que você obtenha relatórios de energia em cada soquete / núcleo nos processadores AMD Zen / Zen2.
Interface Thunderbolt / USB4 em processadores Intel Tiger Lake
Com apenas 28 linhas de código neste patch , o suporte Thunderbolt / USB4 para os chips Tiger Lake foi garantido, graças em grande parte à reutilização do Ice Lake.
A interface Thunderbolt também pode ser executada na arquitetura ARM usando uma placa de expansão Thunderbolt PCIe. Atualmente não há dispositivos ARM SoC disponíveis.
Versão estável do Linux 5.8.1
A versão secundária do Linux 5.8.1 é uma pequena atualização que altera um total de 40 arquivos com 548 inserções e 186 exclusões. Ele contém principalmente correções de bugs para vários drivers:
- GPIO, max77620;
- LEDs;
- SCSI;
- MTD;
- PCI, tegra;
- USB;
- som;
- vídeo;
- Atualizações para a arquitetura ARM64;
- Atualizações da arquitetura PowerPC.
Qual kernel é mais útil?
Sempre no lançamento de uma nova versão estável do kernel Linux com muitas atualizações úteis, pode ser ansioso para baixar imediatamente o arquivo de kernel.org , ajustar as configurações de menuconfig ou xconfig, compilar e inicializar a partir da imagem recém-criada. Ainda assim, você não deve se apressar e aqui está o porquê.
O mantenedor de ramos estáveis Greg Kroah-Hartman compilou uma pequena classificação de ramos estáveis. Isto é o que parece.
- Um kernel estável e atualizado para sua distribuição Linux.
- Última versão estável.
- Versão mais recente do LTS (Long Term Support);
- Versão anterior do LTS que ainda é compatível.
Em primeiro lugar no critério de conveniência está o kernel Linux, compilado especificamente para sua distribuição. Ele contém todos os patches necessários e configurações especiais. Além disso, os desenvolvedores da distribuição fazem um grande trabalho de correção de bugs e, às vezes, novas funções para o código do kernel, e tudo isso em um esforço quixotesco para não alterar o número da versão principal, apesar da presença de muitos milhares de alterações.
Com essas considerações em mente, faz sentido esperar até que o novo kernel esteja disponível para sua distribuição. Para Debian Linux e RHEL, bem como dispositivos Android, pode levar anos até que um novo kernel esteja em produção. No entanto, existem toneladas de distribuições para estações de trabalho e usuários gerais para os quais um novo kernel é disponibilizado em poucas semanas.
Novas distribuições Ubuntu Linux 20.10 (Groovy Gorilla) será lançado com kernel Linux 5.8 em outubro de 2020.
Materiais usados
- Linux Kernel 5.8 "O maior lançamento de todos os tempos" está finalmente disponível agora
- Kernelnewbies, Linux 5.8
- Os recursos do kernel Linux 5.8 incluem novos recursos Intel / AMD, melhorias de segurança e otimizações
- Lançamento do kernel Linux 5.8
- Que kernel estável devo usar?
