Увеличаването на основната версия до 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 повикване за отложена проверка на FS чрез 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.
Драйвери на устройства:
- Промени в API на DRM за пълна поддръжка на адаптивна синхронизация (част от стандарта 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
