Головні нововведення
- Механізм pidfd дозволяє закріпити конкретний PID за будь-яким процесом. Закріплення продовжує діяти після припинення процесу, щоб PID можна було видати йому при повторному запуску. подробиці.
- Обмеження частотних діапазонів у планувальнику процесів. Наприклад, критичні процеси можна запускати з мінімальним порогом частоти (скажімо, щонайменше 3 ГГц), а низкоприоритетные — з верхнім порогом частоти (наприклад, трохи більше 2 ГГц). подробиці.
- Підтримка відеочіпів сімейства AMD Navi (RX5700) у драйвері amdgpu. Реалізована вся необхідна функціональність, включаючи кодування/декодування відео та керування живленням.
- Повноцінна робота на х86-сумісних процесорах Zhaoxin, створених у результаті співпраці компанії VIA та уряду Шанхаю.
- Підсистема управління живленням за технологією Intel Speed Select, характерною для деяких процесорів сімейства Xeon. Технологія примітна можливістю детального налаштування продуктивності для кожного ядра ЦП.
- Енергоефективний механізм режиму очікування процесів у просторі користувача, який використовує інструкції umwait для процесорів Intel Tremont. подробиці.
- Допущений до використання діапазон 0.0.0.0/8, що дає 16 млн нових IPv4-адрес. подробиці.
- Гнучкий легковажний гіпервізор ACRN, що добре підходить для управління IoT-систем (інтернет речей). подробиці.
Далі перелічені деякі інші зміни.
Основна частина ядра
- Підтримка стиснення прошивок у xz-форматі, що дозволяє зменшити каталог /lib/firmware з ~420 Мб до ~130 Мб.
- Новий варіант системного виклику clone() з можливістю встановити більше прапорів. подробиці.
- Автоматичний вибір більшого шрифту для високої роздільної здатності в консолі.
- Опція CONFIG_PREEMPT_RT, що знаменує швидку інтеграцію набору RT-патчів у основну гілку ядра.
Файлова підсистема
- Системні виклики BULKSTAT та INUMBERS для XFS v5, також розпочато роботу з реалізації багатопоточного обходу інодів.
- BTRFS тепер використовує швидкі контрольні суми (crc32c) на всіх архітектурах.
- До відкритих файлів на Ext4 тепер застосовується прапор незмінності (іммутабельності). Реалізовано підтримку пустот (holes) у каталогах.
- CEPH навчилася працювати з SELinux.
- Механізм smbdirect у CIFS більше не вважається експериментальним. Додані криптоалгоритми для SMB3.1.1 GCM. Підвищено швидкість відкриття файлів.
- На F2FS можна розміщувати файли підкачки, вони працюють у режимі прямого доступу. Можливість вимкнути збирач сміття у checkpoint=disable.
- Клієнти NFS можуть встановити відразу кілька TCP-підключень до сервера через опцію монтування nconnect=X.
підсистема пам'яті
- Кожному dma-buf дається повноцінний інод. З каталогів /proc/*/fd та /proc/*/map_files можна отримати багато детальних даних про використання буферів shmem.
- Механізм smaps показує окрему інформацію з анонімної пам'яті, що розділяється, а також по файловому кешу в proc-файлі smaps_rollup.
- Використання rbtree для swap_extent підвищило продуктивність за умов активного використання підкачування багатьма процесами.
- /proc/meminfo відображає кількість сторінок vmalloc.
- Розширено можливості tools/vm/slabinfo у плані сортування кешів за рівнем фрагментації.
Віртуалізація та безпека
- Драйвер virtio-iommu для паравіртуалізованого пристрою, що дозволяє надсилати запити IOMMU без емуляції таблиць адрес.
- Драйвер virtio-pmem для доступу до накопичувачів через фізичний простір адрес.
- Прискорення доступу до метаданих для vhost. Для TX PPS випробування показують зростання швидкості на 24%.
- Для vhost_net заборонено zerocopy за промовчанням.
- Ключі шифрування можна прикріплювати до простір імен.
- Підтримка xxhash — вкрай швидкий некриптографічний алгоритм хешування, швидкість якого обмежена тільки продуктивністю пам'яті.
Мережева підсистема
- Початкова підтримка nexthop-об'єктів, створених для покращення масштабованості маршрутів IPv4 та IPv6.
- Netfilter навчився вивантажувати фільтрацію на апаратні пристрої прискорення. Додано вбудовану підтримку відстеження з'єднань для мостів.
- Новий модуль контролю трафіку дозволяє маніпулювати MPLS-заголовками пакетів.
- Видалено підсистему isdn4linux.
- Доступні LE-пінги для Bluetooth.
Апаратні архітектури
- Нові ARM-платформи та пристрої: Mediatek mt8183, Amlogic G12B, Kontron SMARC SoM, Google Cheza, Devkit для Purism Librem5, Qualcomm Dragonboard 845c, Hugsun X99 TV Box та ін.
- Для x86 додано механізм /proc/ /arch_status для відображення архітектурно-специфічної інформації на зразок часу останнього використання AVX512.
- Оптимізована робота VMX для KVM, швидкість vmexit підвищена на 12%.
- Додано та оновлено різноманітну інформацію про процесори Intel KabyLake, AmberLake, WhiskeyLake та Ice Lake.
- Стиснення lzma та lzo для uImage на PowerPC.
- Захищена virtio-віртуалізація для S390.
- Підтримка великих сторінок пам'яті RISCV.
- Режим подорожей у часі для User-mode Linux (уповільнення та прискорення часу).
Драйвери пристроїв
- Розпізнавання метаданих HDR для драйверів amdgpu та i915.
- Розширення функціональності для відеочіпів Vega12 та Vega20 в amdgpu.
- Мультисегментна гамма-корекція для i915, а також асинхронне відключення живлення екрану та ряд нових прошивок.
- Відеодрайвер Nouveau навчився розпізнавати чіпи сімейства TU116.
- Нові Bluetooth-протоколи MediaTek MT7663U та MediaTek MT7668U.
- Вивантаження TLS TX HW для Infiniband, а також розширення апаратного та температурного моніторингу.
- Розпізнавання Elkhart Lake у драйвері HD Audio.
- Нові аудіопристрою та кодеки: Conexant CX2072X, Cirrus Logic CS47L35/85/90, Cirrus Logic Madera, RT1011/1308.
- Драйвер Apple SPI для клавіатури та трекпада.
- У підсистемі watchdog можна встановити граничний час для відкриття /dev/watchdogN.
- Механізм управління частотою cpufreq отримав підтримку imx-cpufreq-dt та Raspberry Pi.
Джерело: linux.org.ru