Principais inovações
- O mecanismo pidfd permite atribuir um PID específico a um processo. A fixação continua após o término do processo para que o PID possa ser emitido quando ele for iniciado novamente. detalhes.
- Limitações de faixas de frequência no escalonador de processos. Por exemplo, processos críticos podem ser executados em um limite de frequência mínimo (por exemplo, não inferior a 3 GHz) e processos de baixa prioridade podem ser executados em um limite de frequência mais alto (por exemplo, não superior a 2 GHz). detalhes.
- Suporte para chips de vídeo da família AMD Navi (RX5700) no driver amdgpu. Todas as funcionalidades necessárias são implementadas, incluindo codificação/decodificação de vídeo e gerenciamento de energia.
- Totalmente executado em processadores Zhaoxin compatíveis com x86, criados como resultado da colaboração entre a VIA e o governo de Xangai.
- Subsistema de gerenciamento de energia utilizando tecnologia Intel Speed Select, característica de alguns processadores da família Xeon. A tecnologia é notável por sua capacidade de ajustar o desempenho de cada núcleo da CPU.
- Um mecanismo de espera de processo de espaço de usuário com eficiência energética usando instruções umwait para processadores Intel Tremont. detalhes.
- O intervalo 0.0.0.0/8 está aprovado para uso, o que fornece 16 milhões de novos endereços IPv4. detalhes.
- Hipervisor ACRN flexível e leve, adequado para gerenciamento de sistemas IoT (Internet das Coisas). detalhes.
Abaixo estão algumas outras mudanças.
Parte principal do núcleo
- Suporte para compactação de firmware no formato xz, o que permite reduzir o diretório /lib/firmware de ~420 MB para ~130 MB.
- Uma nova variante da chamada de sistema clone() com a capacidade de definir mais sinalizadores. detalhes.
- Seleção automática de fontes maiores para altas resoluções no console.
- A opção CONFIG_PREEMPT_RT marca a rápida integração de um conjunto de patches RT na ramificação principal do kernel.
Subsistema de arquivos
- Os sistemas BULKSTAT e INUMBERS exigem XFS v5, e o trabalho também começou na implementação da travessia de inode multithread.
- O Btrfs agora usa checksums rápidos (crc32c) em todas as arquiteturas.
- O sinalizador de imutabilidade (imutabilidade) agora é aplicado estritamente para abrir arquivos no Ext4. Implementado suporte para falhas em diretórios.
- CEPH aprendeu a trabalhar com SELinux.
- O mecanismo smbdirect no CIFS não é mais considerado experimental. Adicionados algoritmos criptográficos para SMB3.1.1 GCM. Maior velocidade de abertura de arquivos.
- F2FS pode hospedar arquivos swap; eles operam em modo de acesso direto. Capacidade de desabilitar o coletor de lixo com checkpoint=disable.
- Os clientes NFS podem estabelecer múltiplas conexões TCP com um servidor de uma só vez através da opção de montagem nconnect=X.
Subsistema de memória
- Cada dma-buf recebe um inode completo. Os diretórios /proc/*/fd e /proc/*/map_files fornecem muitas informações detalhadas sobre o uso do buffer shmem.
- O mecanismo smaps exibe informações separadas sobre memória anônima, memória compartilhada e cache de arquivo no arquivo proc smaps_rollup.
- Usar rbtree para swap_extent melhorou o desempenho quando muitos processos estavam trocando ativamente.
- /proc/meminfo exibe o número de páginas vmalloc.
- Os recursos de tools/vm/slabinfo foram expandidos em termos de classificação de caches por grau de fragmentação.
Virtualização e Segurança
- O driver virtio-iommu para um dispositivo paravirtualizado que permite enviar solicitações IOMMU sem emular tabelas de endereços.
- O driver virtio-pmem para acessar unidades por meio do espaço de endereço físico.
- Aceleração de acesso a metadados para vhost. Para TX os testes PPS mostram um aumento de 24% na velocidade.
- Zerocopy está desabilitado por padrão para vhost_net.
- As chaves de criptografia podem ser anexadas a namespaces.
- Suporte para xxhash, um algoritmo de hash não criptográfico extremamente rápido cuja velocidade é limitada apenas pelo desempenho da memória.
subsistema de rede
- Suporte inicial para objetos nexthop projetados para melhorar a escalabilidade de rotas IPv4 e IPv6.
- O Netfilter aprendeu a descarregar a filtragem para dispositivos de aceleração de hardware. Adicionado suporte nativo de rastreamento de conexão para pontes.
- Um novo módulo de controle de tráfego que permite manipular cabeçalhos de pacotes MPLS.
- O subsistema isdn4linux foi removido.
- Pings LE disponíveis para Bluetooth.
Arquiteturas de hardware
- Novas plataformas e dispositivos ARM: Mediatek mt8183, Amlogic G12B, Kontron SMARC SoM, Google Cheza, devkit para Purism Librem5, Qualcomm Dragonboard 845c, Hugsun X99 TV Box, etc.
- Para x86, o mecanismo /proc/ foi adicionado /arch_status para exibir informações específicas da arquitetura, como a última vez que o AVX512 foi usado.
- Desempenho VMX otimizado para KVM, velocidade vmexit aumentada em 12%.
- Adicionadas e atualizadas várias informações sobre os processadores Intel KabyLake, AmberLake, WhiskeyLake e Ice Lake.
- Compressão lzma e lzo para uImage no PowerPC.
- Virtualização segura para S390.
- Suporte para páginas de grande memória para RISCV.
- Modo de viagem no tempo para Linux em modo de usuário (desaceleração e aceleração do tempo).
Drivers de dispositivos
- Reconhecimento de metadados HDR para drivers amdgpu e i915.
- Extensões de funcionalidade para chips de vídeo Vega12 e Vega20 em amdgpu.
- Correção gama multissegmento para i915, bem como desligamento assíncrono da tela e vários novos firmwares.
- O driver de vídeo Nouveau aprendeu a reconhecer chips da família TU116.
- Novos protocolos Bluetooth MediaTek MT7663U e MediaTek MT7668U.
- Descarregamento de HW TLS TX para Infiniband, bem como hardware aprimorado e monitoramento de temperatura.
- Reconhecimento de Elkhart Lake no driver HD Audio.
- Novos dispositivos de áudio e codecs: Conexant CX2072X, Cirrus Logic CS47L35/85/90, Cirrus Logic Madera, RT1011/1308.
- Driver Apple SPI para teclado e trackpad.
- No subsistema watchdog, você pode definir um limite de tempo para abrir /dev/watchdogN.
- O mecanismo de controle de frequência cpufreq é suportado por imx-cpufreq-dt e Raspberry Pi.
Fonte: linux.org.ru