Aumento do número da versão principal para 5 não significa mudanças grandiosas ou problemas de compatibilidade. Isso apenas ajuda nosso estimado Linus Torvalds a manter a paz de espírito. Abaixo está uma lista de algumas mudanças e inovações.
Núcleo do Kernel:
- O planejador de processos CFS em processadores assimétricos como ARM funciona de maneira diferente - priorizando primeiro os núcleos de baixo consumo e eficiência energética.
- Através da API de monitoramento de eventos de arquivos fanotify, é possível receber notificações sobre a abertura de arquivos para execução.
- Um controlador cpuset foi integrado, permitindo limitar grupos de processos quanto ao uso de CPU e nós NUMA.
- Incluída a compatibilidade com os seguintes dispositivos ARM: Qualcomm QCS404, Allwinner T3, NXP/Freescale i.MX7ULP, NXP LS1028A, i.MX8, RDA Micro RDA8810PL, Rockchip Gru Scarlet, Allwinner Emlid Neutis N5, e muitos outros.
- Melhorias na subsistema ARM: conexão quente de memória, proteção contra Meltdown e Spectre, endereçamento de memória de 52 bits, entre outros.
- Suporte à instrução WBNOINVD para x86-64.
Subsistema de memória:
- Para a ferramenta KASAN em plataformas ARM64, está disponível a substituição de tags de verificação com baixo consumo de memória.
- A fragmentação de memória foi drasticamente reduzida (até 90%), resultando em um melhor funcionamento do mecanismo Transparent HugePage.
- A velocidade do mremap(2) em grandes áreas de memória aumentou até 20 vezes.
- No mecanismo KSM, o jhash2 foi substituído pelo xxhash, resultando em um aumento de 5 vezes na velocidade do KSM em sistemas de 64 bits.
- Melhorias no ZRam e OOM.
Dispositivos de bloco e sistemas de arquivos:
- O mecanismo blk-mq com um sistema hierárquico de filas de solicitações tornou-se o principal para dispositivos de bloco. Todo o código não-mq foi removido.
- Melhorias no suporte a NVMe, especialmente no que diz respeito ao funcionamento dos dispositivos pela rede.
- Para Btrfs, foi implementado suporte completo a swap files, bem como a mudança de FSID sem sobrescrever os metadados.
- No F2FS, foi adicionado um chamado ioctl para verificação adiada do FS através do fsck.
- BinderFS foi integrado - um pseudo-sistema de arquivos para comunicação entre processos. Permite executar várias instâncias do Android em um único ambiente.
- Uma série de melhorias no CIFS: cache DFS, atributos estendidos, protocolo smb3.1.1.
- O ZRam funciona de forma mais eficiente com dispositivos de swap não utilizados, economizando memória.
Segurança e virtualização:
- Função hash Streebog (GOST 34.11-2012) foi adicionada, desenvolvida pela FSB da Rússia.
- Suporte ao algoritmo de criptografia Adiantum, desenvolvido pelo Google para dispositivos de baixo consumo.
- Os algoritmos XChaCha12, XChaCha20 e NHPoly1305 foram incorporados.
- O processamento de chamadas seccomp agora pode ser transferido para o espaço do usuário.
- Para sistemas convidados KVM foi implementado o suporte para extensões Intel Processor Trace com mínima queda de desempenho.
- Melhorias no subsistema KVM/Hiper-V.
- O driver virtio-gpu ganhou suporte para simulação de EDID para monitores virtuais.
- No driver virtio_blk foi implementada a chamada discard.
- Funções de segurança para memória NV com base nas especificações Intel DSM 1.8 foram implementadas.
Drivers de dispositivos:
- Mudanças na API DRM para suporte total à sincronização adaptativa (parte do padrão DisplayPort) e taxas de atualização variáveis (parte do padrão HDMI).
- Incluído o padrão Display Stream Compression para compressão sem perda de fluxos de vídeo direcionados a telas de alta definição.
- O driver AMDGPU agora suporta FreeSync 2 HDR e reinicialização da GPU para CI, VI, SOC15.
- O driver de vídeo Intel recebeu suporte para chips Amber Lake, formatos YCBCR 4:2:0 e YCBCR 4:4:4.
- O driver Nouveau foi atualizado para trabalhar com modos de vídeo para placas gráficas das famílias Turing TU104/TU106.
- Drivers de touchscreen para Raspberry Pi, painéis CDTech, Banana Pi, DLC1010GIG e outros foram integrados.
- O driver HDA agora suporta o botão 'jack', LEDs indicadores, dispositivos Tegra186 e Tegra194.
- O subsistema de entrada aprendeu a trabalhar com rolagem de alta precisão em alguns mouses Microsoft e Logitech.
- Uma infinidade de mudanças nos drivers de webcams, sintonizadores de TV, USB, IIO e outros.
Subsistema de rede:
- No stack UDP, foi implementado o suporte ao mecanismo zero-copy para transmissão de dados através de sockets sem bufferizações interinas.
- Adicionado também o mecanismo Generic Receive Offload.
- Melhorada a performance de busca em políticas xfrm em grandes quantidades.
- No driver VLAN, adicionada a capacidade de descarregar túneis.
- Uma série de melhorias no suporte ao Infiniband e redes sem fio.
Fonte: linux.org.ru
