Після двох місяців інтенсивної розробки та виправлення понад сімнадцяти тисяч помилок, Лінус Торвальдс офіційно випустив ядро Linux 7.2. Нова версія не лише очищає тисячі рядків застарілого коду, але й впроваджує оптимізацію продуктивності, покращує управління пам'яттю та дебютує з новими технологіями прямої передачі даних між пристроями.
В основі механізму iomap лежить усунення надлишкових викликів, яке дозволило збільшити кількість операцій вводу/виводу за секунду (IOPS) на п'ять відсотків під час використання таких систем, як ext4 та xfs, під час інтенсивних навантажень на NVMe-дисках.
Btrfs тепер за замовчуванням підтримує великі фоліо для максимізації послідовного введення та виведення, тоді як Ext4 переробив механізм швидкого фіксування змін , щоб усунути вузькі місця та подвоїти швидкість обчислення хешу в складних каталогах.
Крім того, представлено USB4STREAM – механізм, який дозволяє пряму передачу даних між комп’ютерами, підключеними через порти USB4 . Завдяки віртуальному пристрою в системі користувачі можуть зчитувати та записувати інформацію між комп’ютерами за допомогою стандартних команд, повністю усуваючи необхідність налаштування складних мережевих мостів або сокетів.
Крім того, підсистема swap значно зменшила обсяг пам'яті, об'єднавши анонімну та спільну пам'ять , заощаджуючи до півгігабайта оперативної пам'яті на кожен терабайт підключеного swap. На рівні обробки механізм SCHED_EXT, керований eBPF, тепер дозволяє створювати вкладені планувальники , надаючи кожній групі керування можливість керувати власними завданнями окремо.
Планувальник ядра тепер підтримує балансування навантаження з урахуванням кешу , групуючи інтелектуальні потоки для спільного використання одного кешу високого рівня та значно підвищуючи ефективність доступу до даних. Це ще більше покращується механізмом SCHED_EXT, який тепер дозволяє створювати вкладені підпланувальники , надаючи кожній групі керування (cgroup) можливість керувати власними правилами виконання.
Крім того, варто зазначити, що спочатку був представлений інноваційний планувальник Fair GPU , але його довелося вимкнути в останню хвилину через регресії, які знижували продуктивність під час запуску ігор через рівень сумісності 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 та вище.
Зрештою, якщо ви зацікавлені дізнатися більше, ви можете знайти деталі за наступним посиланням.