Побачило світ ядро ​​Linux 5.0

Збільшення цифри мажорної версії до 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

Додати коментар або відгук