Повишаването на мажорната версия до 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/Hypre-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
