Увидело свет ядро 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 и беспроводных сетей.
>>> Полный список изменений (на английском)
Сердцевина ядра:
Планировщик процессов 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 и беспроводных сетей.
>>> Полный список изменений (на английском)
Ещё новости по теме:
18:20