После двух напряженных месяцев разработки и более чем семнадцати тысяч исправлений ошибок Линус Торвальдс официально выпустил ядро Linux версии 7.2. Новая версия не только очищает тысячи строк устаревшего кода, но и внедряет оптимизации производительности, улучшает управление памятью и представляет новые технологии прямой передачи данных между устройствами.
В основе механизма iomap лежит устранение избыточных вызовов, что позволило увеличить количество операций ввода-вывода в секунду (IOPS) на пять процентов при использовании таких систем, как ext4 и xfs, в условиях интенсивной нагрузки на NVMe-накопители.
Теперь Btrfs по умолчанию поддерживает большие файловые каталоги для максимизации последовательного ввода и вывода, а Ext4 переработала свой механизм быстрой фиксации , чтобы устранить узкие места и удвоить скорость вычисления хеша в сложных каталогах.
Кроме того, представлена технология USB4STREAM , позволяющая осуществлять прямую передачу данных между компьютерами, подключенными через порты USB4 . Благодаря созданию виртуального устройства в системе, пользователи могут считывать и записывать информацию между компьютерами с помощью стандартных команд, полностью исключая необходимость настройки сложных сетевых мостов или сокетов.
Кроме того, подсистема подкачки значительно сократила объем используемой памяти за счет объединения анонимной и разделяемой памяти , что позволяет сэкономить до половины гигабайта оперативной памяти на каждый терабайт смонтированной подкачки. На уровне обработки механизм SCHED_EXT, управляемый eBPF, теперь позволяет создавать вложенные планировщики , предоставляя каждой группе управления возможность управлять своими задачами изолированно.
Теперь планировщик ядра поддерживает балансировку нагрузки с учетом кэша , группируя интеллектуальные потоки для совместного использования одного и того же высокоуровневого кэша и значительно повышая эффективность доступа к данным. Это дополнительно улучшено механизмом SCHED_EXT, который теперь позволяет создавать вложенные подпланировщики , предоставляя каждой группе управления (cgroup) возможность управлять своими собственными правилами выполнения.
Кроме того, стоит отметить, что изначально был представлен инновационный планировщик задач Fair GPU Scheduler , но его пришлось отключить в последний момент из-за регрессий, которые привели к резкому снижению производительности при запуске игр через слой совместимости Proton, что вынудило временно вернуться к традиционной модели FIFO.
Тем временем ядро продолжает необходимую очистку, окончательно прекращая поддержку старых процессоров i486, не имеющих блока обработки чисел с плавающей запятой, а также отказываясь от почтенного сетевого протокола AppleTalk после десятилетий службы.
Развитие безопасности и виртуализации происходит за счет устранения исторических векторов атак. Гипервизор KVM теперь использует аппаратные расширения Intel MBEC и AMD GMET , что позволяет независимо управлять правами выполнения между ядром и пользовательским пространством в виртуальных машинах, тем самым снижая затраты на передачу управления гипервизору.
В кодовой базе была удалена небезопасная функция `strncpy`, на замену которой ушли годы и сотни патчей, прежде чем она стала безопасной при переполнении. Кроме того, из AF_ALG были удалены аппаратные ускорители, приоритет отдан программным реализациям в пользовательском пространстве, а модуль Landlock расширил свою защиту, включив в неё строгий контроль над сетевыми UDP-сокетами.
Этот релиз также запомнится очисткой устаревшего кода и внедрением новых стандартов. Поддержка процессоров i486 была прекращена , что постигло и культовый протокол AppleTalk, интерфейсы ARCnet и устаревшие соединения сети ATM.
Напротив, современность ярко проявляется в контроллере PPPoE, который, благодаря использованию механизмов разгрузки GRO и GSO, сумел в пять раз повысить производительность при сборке пакетов.
Наконец, аппаратная поддержка увенчана появлением технологии HDMI 2.1 FRL в открытом драйвере AMDGPU для передачи 8K-видео, а экосистема Rust-for-Linux продолжает стабильно развиваться, добавляя поддержку архитектуры s390 и продвигая интеграцию драйвера Nova для управления современными графическими процессорами NVIDIA на базе архитектуры Turing и выше.
Наконец, если вас интересует более подробная информация, вы можете найти ее по следующей ссылке.