Оптимизация сетевого стека Linux 6.8 может увеличить производительность TCP для многих одновременных подключений до 40%. В сетевых играх это может уменьшить задержки.
Помимо обычной поддержки нового проводного/беспроводного сетевого оборудования и других рутинных изменений в большой сетевой подсистеме Linux, ядро Linux 6.8 привносит некоторые ключевые улучшения в основной сетевой код, которые могут дать до 40% улучшения производительности TCP при большом количестве одновременных сетевых соединений.
Во-первых, был проведен анализ и реорганизация основных сетевых структур. Эти усилия были направлены на оптимизацию потребления кэш-линий и добавление защитных средств, чтобы будущие изменения не привели к регрессу. В свою очередь, эта оптимизация основных сетевых структур привела к тому, что производительность TCP при большом количестве одновременных соединений выросла на 40 % и более!
Коко Ли (Coco Li) из Google так объяснил свои усилия по оптимизации сетевого кода:
«В настоящее время структуры с большим количеством переменных в сетевом стеке организованы хронологически, логически и иногда по доступу к кэш-линии.
В этой серии патчей предпринята попытка реорганизовать основные переменные сетевого стека, чтобы минимизировать потребление кэш-линий на этапе передачи данных. В частности, мы рассмотрели стек TCP/IP и определение быстрого пути в TCP».
Новая аппаратная поддержка драйверов Ethernet в Linux 6.8 включает устройства Octeon CN10K, Broadcom 5760X P7, Qualcomm SM8550 SoC и Texas Instrument DP83TG720S PHY. Со стороны Bluetooth появилась новая поддержка драйверов для Bluetooth-радио IMC Networks.
Как мы уже видели в последнее время в попытках отказаться от старых/неактуальных сетевых драйверов, несколько устаревших драйверов WiFi были удалены для Linux 6.8. В число вновь удаленных драйверов Wifi входят поддержка Libertas 16-bit PCMCIA, драйверы Atmel at76c50x, драйвер HostAP ISA/PCMCIA 802.11b, USB-ключи zd1201 802.11b, драйвер Orinoco ISA/PCMCIA 802.11b, драйвер Aviator/Raytheon, драйвер Planet WL3501, а также драйвер RNDIS USB 802.11b.
Если говорить об улучшениях сетевых драйверов в Linux 6.8, то в драйвере высокоскоростной сетевой карты Intel добавлена поддержка отчетов о температуре и информации о часах, а также другие случайные улучшения во многих сетевых драйверах. Коммутаторы для центров обработки данных NVIDIA Mellanox Ethernet теперь могут обновлять прошивку без перезагрузки. Что касается WiFi, то продолжается работа над WiFi 7 и улучшением Extremely High Throughput (EHT).