345

Увидело свет ядро 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 и беспроводных сетей.


Скачать новое ядро можно по адресу kernel.org

GNU/Linux

1.2K поста15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.