TCP com memória de dispositivo chega ao Linux 6.12 com suporte aprimorado para redes e drivers

O Linux 6.12 traz o Device Memory TCP, que permite a transferência direta de cargas TCP para a memória do dispositivo sem cópias. A atualização inclui suporte a novos drivers e melhorias de desempenho em redes.

O sched_ext tenta nova inclusão no Linux 6.12, com melhorias que aprimoram o agendamento de processos, incluindo migração de tarefas e suporte a CPUs únicas. Descubra as novidades e seu impacto no desempenho.

As atualizações do subsistema de rede para o Linux 6.12 foram enviadas por Jakub Kicinski neste final de semana, dentro da janela de mesclagem. Entre as novidades mais marcantes, destaca-se a introdução do Device Memory TCP, que permite o recebimento de cargas úteis de TCP em regiões de memória DMA-BUF sem cópia, proporcionando maior eficiência no uso de aceleradores.

Nos últimos anos, engenheiros da Google lideraram o desenvolvimento dessa tecnologia, com o objetivo de otimizar a transferência de dados diretamente para a memória do dispositivo, como aceleradores de IA e GPUs/TPUs, sem a necessidade de utilizar o buffer de memória do host. Esse avanço representa um grande impacto no desempenho de hardware voltado para aprendizado de máquina e IA.

Aceleração e switches de rede

O trabalho em Device Memory TCP amadureceu significativamente e agora o código central foi submetido para inclusão no Linux 6.12. Jakub Kicinski explica no pull request de rede:

“O Device Memory TCP oferece a capacidade de receber cargas úteis de TCP diretamente em uma região de memória DMA-BUF, enquanto os cabeçalhos dos pacotes são processados separadamente em buffers normais do kernel, com o TCP sendo tratado da maneira usual.”

Além dessa inovação central, as mudanças de rede para o Linux 6.12 incluem suporte ao IPv6 IOAM6, melhorias no caminho de controle do IPsec para aumento de desempenho, e diversos outros aprimoramentos de performance.

Atualizações de drivers de rede

No lado dos drivers de rede, a NVIDIA Mellanox agora suporta tabelas de direcionamento gerenciadas por hardware. O driver AMD Pensando passou a utilizar o page pool para melhorar o desempenho de recebimento de dados. Entre os novos drivers, destaca-se um para dispositivos automotivos PCIe da Realtek, abrangendo chipsets como RTL9054, RTL9068, RTL9072 e outros. Além disso, o driver MediaTek MT7530 agora inclui suporte ao EN7581, e o driver Realtek RT8169 foi atualizado para suportar o RTL8126A rev.b.

Outras mudanças importantes incluem o suporte ao PHY Ethernet de 2,5G Motorcomm yt8821, novos drivers Rust para o PHY Applied Micro QT2025, além de aprimoramentos no driver Realtek RTW89, que agora inclui suporte ao WiFi 6 para chipsets RTL8852BT e 8852BE-VT, bem como suporte ao USB 3 para os chipsets RTL8822CU/RTL8822BU.

Para mais informações sobre as mudanças de rede no Linux 6.12, consulte o pull request original.