Збільшення цифри мажорної версії до 5 не означає грандіозних змін або поломок сумісності. Воно просто допомагає нашому дорогому Лінусу Торвальдсу зберегти душевний спокій. Нижче — список деяких змін та нововведень.
Серцевина ядра:
- Планувальник процесів CFS на асиметричних процесорах на кшталт ARM працює інакше— насамперед навантажує малопотужні та енергоефективні ядра.
- Через API відстеження файлових подій fanotify можна отримувати сповіщення про відкриття файлу на виконання.
- Інтегрований контролер cpuset, яким можна обмежувати групи процесів використання CPU і вузлів NUMA.
- Включено підтримку наступних ARM-пристроїв: Qualcomm QCS404, Allwinner T3, NXP/Freescale i.MX7ULP, NXP LS1028A, i.MX8, RDA Micro RDA8810PL, Rockchip Gru Scarlet, Allwinner Emlid Neutis N5 та багатьох інших.
- Поліпшення в підсистемі ARM: гаряче підключення пам'яті, захист від Meltdown та Spectre, 52-бітна адресація пам'яті та ін.
- Підтримка інструкції WBNOINVD для x86-64.
Підсистема пам'яті:
- Для інструменту KASAN на ARM64-платформах доступна підстановка перевірочних тегів із малим споживанням пам'яті.
- Фрагментацію пам'яті кардинально знижено (до 90%), в результаті механізм Transparent HugePage працює краще.
- Швидкість роботи mremap(2) великих областях пам'яті збільшена до 20 раз.
- У механізмі KSM jhash2 замінено xxhash, завдяки чому на 64-бітових системах швидкість роботи KSM зросла в 5 разів.
- Поліпшення в ZRam та OOM.
Блокові пристрої та файлові системи:
- Механізм blk-mq із багаторівневою системою черг запитів став основним для блокових пристроїв. Весь не-mq код видалено.
- Поліпшення підтримки NVMe, особливо у плані роботи пристроїв через мережу.
- Для Btrfs реалізовано повноцінну підтримку swap-файлів, а також зміну FSID без перезапису метаданих.
- У F2FS додано ioctl-дзвінок для відкладеної перевірки ФС через fsck.
- Інтегрована BinderFS - псевдо-ФС для міжпроцесної взаємодії. Дозволяє запустити кілька екземплярів Android в одному середовищі.
- Ряд покращень у CIFS: кеш DFS, розширені атрибути, протокол smb3.1.1.
- ZRam оптимальніше працює з невикористовуваними swap-пристроями, заощаджуючи пам'ять.
Безпека та віртуалізація:
- Додано хеш-функцію Streebog (ГОСТ 34.11-2012), розроблену ФСБ РФ.
- Підтримує алгоритм шифрування Adiantum, розроблений Google для малопотужних пристроїв.
- Включено алгоритми XChaCha12, XChaCha20 та NHPoly1305.
- Обробку дзвінків seccomp тепер можна винести у простір користувача.
- Для гостьових систем KVM реалізована підтримка розширень Intel Processor Trace з мінімальним просіданням продуктивності.
- Поліпшення у підсистемі KVM/Hyper-V.
- Драйвер virtio-gpu отримав підтримку симуляції EDID для віртуальних моніторів.
- У драйвері virtio_blk реалізовано виклик discard.
- Реалізовано функції безпеки для NV-пам'яті, що базуються на специфікаціях Intel DSM 1.8.
Драйвери пристроїв:
- Зміни в DRM API для повноцінної підтримки адаптивної синхронізації (частина стандарту DisplayPort) та мінливих частот оновлення (частина стандарту HDMI).
- Увімкнено стандарт Display Stream Compression для стиснення без втрат відеопотоків, адресованих екранам з високою роздільною здатністю.
- Драйвер AMDGPU тепер підтримує FreeSync 2 HDR та скидання графічного процесора для CI, VI, SOC15.
- Відеодрайвер Intel отримав підтримку чіпів Amber Lake, форматів YCBCR 4:2:0 та YCBCR 4:4:4.
- У драйвер Nouveau включено роботу з відеорежимами для відокарту сімейства Turing TU104/TU106.
- Інтегровані драйвери тачскріну Raspberry Pi, панелей CDTech, Banana Pi, DLC1010GIG та ін.
- У драйвері HDA доступна підтримка кнопки jack, LED-індикаторів, пристроїв Tegra186 і Tegra194.
- Підсистема введення навчилася працювати з високоточним прокручуванням на деяких мишах Microsoft і Logitech.
- Маса змін у драйверах вебкамер, ТВ-тюнерів, USB, IIO та ін.
Мережева підсистема:
- У стеку UDP реалізовано підтримку механізму zero-copy для передачі даних через сокет без проміжної буферизації.
- Також доданий механізм Generic Receive Offload.
- Покращена продуктивність пошуку в політиках xfrm за великої кількості.
- У драйвер VLAN додано можливість вивантаження тунелів.
- Ряд покращень у підтримці Infiniband та бездротових мереж.
Джерело: linux.org.ru