17 ноября Линус Торвальдс объявил о выходе новой версии ядра - Linux 6.12. Среди основных изменений стоит отметить появление Realtime-режима работы ядра, новый механизм планировщика sched_ext, вывод QR-кода при сбоях ядра, а также поддержку нового оборудования, включая AMD RDNA4, графику Xe2 для Intel Lunar Lake и Battlemage, а также Raspberry Pi 5. Давайте рассмотрим основные нововведения.
Поддержка Realtime-режима
В основную ветку приняты патчи PREEMPT_RT для работы ядра в режиме реального времени. При сборке ядра с данной опцией высокоприоритетные задачи ядра смогут прерывать низкоприоритетные задачи практически мгновенно. Функция особенно востребована в областях обработки видео/аудио, медицины, робототехники, а также финансовых, телекоммуникационных и промышленных системах, где требуется обеспечить предсказуемое время обработки событий.
Опция PREEMPT_RT может быть активирована при сборке ядра для архитектур x86, x86_64, ARM64 и RISC-V.
Механизм планировщика sched_ext (SCX)
Благодаря введению нового механизма sched_ext (SCX) появилась возможность динамически загружать сторонние планировщики CPU как программы BPF. Они будут загружаться динамически и выполняться внутри ядра в виртуальной машине eBPF. К примеру, для игр можно использовать специализированный планировщик, который будут "заточен" на более высокий FPS.
Вывод QR-кода при ошибках ядра
Ошибки ядра kernel panic (аналоги BSOD в Windows) могут появляться при серьезных сбоях - чаще всего, в этом виновато оборудование, однако иногда проблема может быть и программной. В любом случае, диагностика повторяющейся ошибки - дело не самое приятное. И тут разработчики сделали нам сюрприз: в Linux 6.12 добавлена возможность показа QR-кода с отчетом kmsg при возникновении сбоя. Это немного облегчит диагностику:
Поддержка оборудования
В Linux 6.12 добавлена поддержка следующего оборудования:
- В драйвер P-State для Intel добавлена поддержка гибридных систем с отличающимися по характеристикам процессорами, а также управление питанием для систем Granite Rapids и Sierra Forest,
- В драйвере AMDGPU улучшена поддержка графики RDNA4 от AMD,
- Добавлена поддержка консоли GameForce Ace на базе ARM,
- Поддержка одноплатных компьютеров ODROID-M15 и ODROID-M2,
- Датчики на игровых устройствах OneXPlayer,
- Начальная поддержка Raspberry Pi 5,
- Улучшена поддержка графических планшетов Wacom (прокрутка высокого разрешения и сенсорное кольцо),
- Добавлена поддержка профилей вентилятора для ноутбуков ASUS Vivobook,
- Добавлены пользовательские настройки для заряда новых ноутбуков Dell,
- Поддержка управления вентилятором для ноутбуков Lenovo ThinkPad Edge,
- Поддержка отключаемой клавиатуры на Lenovo Thinkpad X12 Gen 2,
- Реализован мониторинг скорости вентилятора через hwmon для графики Intel,
- Улучшена поддержка множества Snapdragon-ноутбуков, включая Lenovo ThinkPad T14s Gen 6 и Microsoft Surface Laptop 7,
- Улучшена поддержка FireWire.
Прочие изменения
Среди прочих Linux 6.12 изменений стоит отметить следующие:
- В подсистему VFS добавлена возможность работы с накопителями, размер блоков в которых больше, чем размер страницы памяти в системе (на текущий момент поддерживается только в XFS).
- В псевдо-ФС NSFS (NameSpace FS) добавлено предоставление дополнительной информации о пространствах имён точек монтирования.
- Для EROFS добавлена возможность монтирования из образов.
- В XFS добавлены новые ioctl-команды для обмена содержимым между двумя файлами.
- Для FUSE добавлена возможность монтирования с сопоставлением идентификаторов.
- Для сетевой ФС NFS добавлена поддержка протокола LOCALIO, что позволит оптимизировать работу, когда клиент и сервер NFS находятся на одном хосте.
- Ядра ARM64 теперь могут работать в качестве гостевых на защищённых системах KVM.
- Добавлены новые возможности для инструмента perf.
- Добавлен новый механизм Device Memory TCP.
- Добавлены новые модули Rust.
В статье использована информация с сайтов OMG!Ubuntu, Opennet и Habr.
Добавить комментарий