Linux kernel 4.18: o que está se preparando para o próximo lançamento

Recentemente, em nosso blog, falamos sobre o lançamento do kernel 4.17 do Linux e seus principais recursos. Neste post, falaremos sobre a versão 4.18, que será lançada em agosto.

Falaremos sobre o que será feito e o que já foi implementado sob o corte.


/ foto Christopher Michel CC

O que acontecerá em 4.18


Em 8 de julho, Linus Torvalds, com uma equipe de desenvolvimento da comunidade, lançou uma versão de teste do kernel 4.18-rc4. De acordo com Linus, se tudo continuar bem, o kernel Linux 4.18 será lançado em agosto.

O novo kernel receberá funções destinadas a melhorar ainda mais a estabilidade e reduzir a base de código. No total, devido à remoção de elementos obsoletos, o item 4.18 já “se sentiu melhor” por 100 mil linhas de código, comparado ao item 4.17.

O kernel do Linux 4.18 está aguardando uma série de outras melhorias . Além disso, sobre alguns deles.

Gerenciamento de energia otimizado para todo o sistema

Os desenvolvedores levaram a sério a eficiência energética:

  • Desempenho aprimorado do iowait para o Schedutil, o controlador CPUFreq que usa dados do agendador do processador para determinar sua frequência operacional ideal;
  • também melhorou o modo de aumento iowait no driver CPUFreq Schedutil;
  • Driver CPUFreq adicionado para o Qualcomm Kryo;

Observe que as melhorias prometidas na operação do controlador P-State para sistemas com Intel Skylake destinadas a melhorar o desempenho das tarefas de E / S não estarão nesta versão. Provavelmente, eles aparecerão na versão 4.19. Uma lista completa de atualizações de gerenciamento de energia (embora para rc-1) pode ser encontrada em lkml .

Aprimoramentos de segurança na montagem do sistema de arquivos

Esse problema foi resolvido desde 2008: o primeiro conjunto de patches com a função mount () foi lançado. Atualmente, estão em andamento trabalhos para permitir que usuários não privilegiados montem com segurança sistemas de arquivos usando o mecanismo FUSE. Isso deve proteger o kernel de possíveis vulnerabilidades.

No entanto, como observa o desenvolvedor Dave Chinner, sobre a eliminação dos riscos de escalação de privilégios não autorizados ao montar automaticamente um sistema de arquivos (por exemplo, a partir do USB), ainda há mais trabalho a ser feito.

Adicionado suporte para transferência de dados TCP usando zero de cópia

A API permite ler dados de um canal TCP sem copiá-los entre o kernel e o espaço do usuário. Normalmente, o kernel “ não sabe ” quais pacotes serão baixados pela interface de rede, portanto, não é possível determinar antecipadamente o destinatário do pacote recebido pelo buffer. No caso de cópia zero, os buffers "ligam" ao espaço do usuário após a chegada de um pacote e são associados a um soquete aberto. Segundo os desenvolvedores, todo o processo se tornará mais simples e previsível.

Subsistema AF_XDP acelera a rede

Sua tarefa é permitir que o código executado no espaço do usuário gerencie os pacotes com mais eficiência , ou seja, use o mínimo possível de recursos de hardware.

Bpfilter - a base para criar uma nova geração de firewalls do kernel

O Bpfilter é um novo mecanismo de filtragem de pacotes baseado na máquina virtual BPF. A essência de seu trabalho é que ele permite criar programas BPF que podem ser "vinculados" a pontos ao longo do caminho do pacote de rede e, se necessário, executar a filtragem.

O BPF permite que você escreva regras para firewalls em C, o que pode ser uma boa ajuda para os desenvolvedores. O código em si será verificado pelo verificador BPF, que adicionará uma "camada" de segurança adicional para todo o sistema.

O trabalho continua na edição 2038

Na publicação sobre a versão 4.17, mencionamos o problema Y2038 - supostas falhas de software devido à apresentação do horário padrão POSIX que ocorrerá em 19 de janeiro do ano mencionado. Para resolver esse problema, os desenvolvedores adicionam correções para vários sistemas em cada atualização. Por exemplo, a atualização 4.15 incluiu correções para adicionar carimbos de data e hora para o módulo de segurança TOMOYO, bem como uma nova função de contador de tempo que permite que ela seja redefinida.

Na versão 4.18, os desenvolvedores continuam a lidar com interfaces COMPAT. Eles consolidaram os cabeçalhos SySV UAPI para o método de mensagens IPC e converteram o SySV IPC no novo mecanismo COMPAT_32BIT_TIME.


/ foto Christopher Michel CC

O que ainda não está incluído no release


Na versão 4.18, eles decidiram não incluir os sistemas de arquivos Bcachefs, Reiser4 e NOVA, além de oferecer suporte ao túnel WireGuard VPN. De acordo com os desenvolvedores, essas coisas ainda não estão prontas para se tornar parte do kernel. Além disso, o subsistema BUS1 e o driver OpenChrome VIA DRM ficaram para trás.

Tudo isso podemos ver em 4.19 ou 5.0. Quanto ao 4.18, então, como já observado, será lançado em algum lugar no início e meados de agosto.



A principal direção da nossa atividade é a prestação de serviços em nuvem:

Infraestrutura virtual (IaaS) | Hospedagem PCI DSS | Nuvem FZ-152 | Alugue 1C na nuvem



Alguns artigos sobre o assunto em nosso blog sobre Habré:

Source: https://habr.com/ru/post/pt417155/


All Articles