
эки ай иштеп кийин, Линус Torvalds берилген ядро чыгаруу Linux 7.1. Среди наиболее заметных изменений: новый драйвер ntfsplus, первая стадия прекращения поддержки CPU i486, удаление старых Ethernet-адаптеров, удаление протоколов ISDN и AX.25, включение по умолчанию механизма Intel FRED, поддержка BPF-обработчиков в io_uring, оптимизация подсистемы подкачки, поддержка субпланировщиков в sched_ext, ввод/вывод в режиме zero-copy в драйвере ublk, ioctl-операция shutdown в Btrfs, динамическое переключение режима производительности в драйвере amd-pstate, поддержка xattr для Unix-сокетов.
Жаңы версия 17275 2589 иштеп чыгуучунун 57 13528 оңдоосун камтыйт, патчтын көлөмү 751785 Мб (өзгөрүүлөр 405916 15624 файлга таасирин тийгизген, 2477 56 код саптары кошулган, 41 7.1 сап өчүрүлгөн). Акыркы чыгарылышта 12 иштеп чыгуучулардан 14 оңдоолор бар, патчтын көлөмү 5 МБ болгон. 3 киргизилген бардык өзгөртүүлөрдүн XNUMX%га жакыны түзмөктүн драйверлерине байланыштуу, өзгөрүүлөрдүн болжол менен XNUMX%ы аппараттык архитектураларга мүнөздүү кодду жаңыртууга, XNUMX%ы тармактык стекке, XNUMX%ы файл тутумдарына жана XNUMX%ы тиешелүү. ички ядронун подсистемалары менен байланышкан.
7.1 ядросундагы негизги жаңы функциялар (kernelnewbies.org, lwn.net, opennet):
Диск подсистемасы, киргизүү/чыгаруу жана файл системалары
- В состав принята новая реализация файловой системы NTFS — ntfsplus, основанная на коде удалённого из ядра классического драйвера ntfs. Старый драйвер был переработан, расширен возможностью записи данных и адаптирован для поддержки современных возможностей, таких как использование эстутум барактарынын фолиолору (folios) вместо структуры buffer_head. В новом драйвере реализовано отложенное выделение блоков, позволившее добиться высокой производительности операций записи и снижения фрагментации. Для буферизированных операций записи/чтения, прямого ввода/вывода, маппинга экстентов и операций страничной записи/чтения задействована библиотека iomap. В тестах iozone драйвер ntfsplus оказался на 3-5% быстрее ntfs3 при записи в однопоточном режиме и на 35-110% при использовании 4 потоков. Скорость чтения ntfsplus и ntfs3 находится примерно на одном уровне. Драйвер ntfs3 остаётся в составе ядра и в него тааныштырды исправления и небольшие улучшения.
- Добавлена поддержка генерации и верификации данных проверки целостности T10 (deepwiki.com) на уровне файловой системы, а не блочного устройства, что позволяет добиться повышения производительности операций чтения.
- В драйвер блочных устройств ublk, позволяющий вынести специфичную логику на сторону процесса в пространстве пользователя, кошулду поддержка ввода/вывода через разделяемую память без копирования данных между буферами (режим zero-copy).
- Для самошифруемых блочных устройств SED-OPAL кошулду ioctl для управления режимом Жалгыз колдонуучу и реализована команда STACK_RESET.
- В Btrfs объявлена стабильной поддержка ioctl-операции shutdown, позволяющей перевести ФС в состояние, при котором предпринимается попытка завершения выполнения уже запущенных операций, но блокируются все новые операции.
- В exfat реализована возможность резервированием пустых областей через вызов fallocate().
- В ФС CIFS добавлена поддержка создания временных файлов с флагом O_TMPFILE.
- Системалык чалууда fsmount() добавлена опция FSMOUNT_NAMESPACE, создающая новое пространство имён точек монитирования для монтируемой файловой системы. В системные вызовы clone3() и unshare() добавлены флаги для возвращения нового пространства имён точек монтирования, содержащего только примонтированную пустую ФС-заглушку на базе nullfs, драйвер fs-dax c ФС-интерфейсом к устройствам DAX (Direct Access).
- В NFS-сервер кошулду защита от атак по подбору файловых дескрипторов, реализованная через заверение дескрипторов криптографической подписью. Защита включается через опцию монтирования sign_fh.
- Кошулган символьный драйвер fs-dax, предоставляющий интерфейс для взаимодействия с устройствами DAX (kernel.org) (Direct Access), поддерживающими работу в обход страничного кэша. Указанный интерфейс необходим для интеграции в ядро файловой системы famfs, размещаемой в оперативной памяти.
- В файловой системе Ceph ишке ашырылган сбор метрик о вводе/выводе в привязке к подразделам.
Эстутум жана система кызматтары
- Кабыл алынды первая серия изменений для прекращения поддержки процессоров i486. Из Kconfig удалены опции для сборки ядра с поддержкой процессоров 486DX, 486SX и AMD ELAN (CONFIG_M486, CONFIG_M486SX и CONFIG_MELAN), а из Makefile исключены опции компиляции для систем i486 (-march=i486). Код для фактической поддержки работы на процессорах i486 пока оставлен в ядре, но сборка для подобных систем теперь потребует применения патчей к сборочным файлам. Причины удаления поддержки процессоров i486 обусловлены желанием избавить ядро от усложнённого кода, эмулирующего некоторые аппаратные операции, такие как CX8 (сравнить и обменять 8 байт) и TSC (счётчик циклов CPU, используемый в планировщике задач).
- В драйвере amd-pstate, применяемом для управления энергопотреблением на системах с процессорами AMD, ишке ашырылган динамическое переключение настроек производительности и изменение поведения управления питанием в зависимости от работы от стационарного питания или аккумулятора. При стационарном подключении теперь активируется режим performance, а при работе от аккумулятора — balance_performance.
- Задействован по умолчанию механизм Intel FRED (Flexible Return and Event Delivery), позволяющий повысить эффективность и надёжность доставки информации о низкоуровневых событиях. Повышение производительности и сокращение задержек обеспечивается благодаря возвращению событий при помощи процессорной инструкции IRET вместо передачи событий через таблицу IDT (Interrupt Descriptor Table). Повышение надёжности достигается благодаря раздельной обработке поступления события в контексте ядра и контексте пользователя, защиты от вложенного выполнения NMI и сохранения в расширенном кадре стека всех связанных с исключением регистров CPU.
- В подсистему perf кошулду поддержка блоков мониторинга производительности памяти (PMU — Performance Monitoring Unit), используемых в SoC NVIDIA Tegra410.
- Ускорено выполнение операций futex на системах ARM, благодаря задействованию инструкций Arm 9.6 LSUI, позволяющих ядру обращаться к памяти пространства пользователя без предварительного отключения режима защиты PAN (arm.com) (Privileged Access Never).
- На системах с процессорами ARM улучшена поддержка расширения архитектуры набора команд MPAM (Memory System Resource Partitioning and Monitoring) и добавлена возможность её использования в пространстве пользователя для управления ресурсами через механизм resctrl. MPAM обеспечивает пометку каждого обращения к памяти идентификатором секции (PARTID, Partition ID) и идентификатором группы мониторинга (PMG, Monitoring Group ID). В привязке к PARTID можно ограничить потребление ресурсов, таких как пропускная способность памяти или размер кэша, что бы какая-то группа задач не заняла все ресурсы. В контексте мониторинга сочетание PMG и PARTID можно использовать для отслеживание потребления ресурсов памяти при определённых видах нагрузки.
- Кошулган возможность использования режима реального времени (PREEMPT_RT) на 32-разрядных процессорах ARM. Ранее поддержка PREEMPT_RT была обеспечена для архитектур x86 и x86-64, ARM64, RISC-V и LoongArch.
- Системалык чалууда clone3() добавлены новые флаги: CLONE_NNP — тыйуу салуу получения новых привилегий в созданном процессе; CLONE_AUTOREAP — автоматическое завершение процесса вместо его превращения в процесс-зомби до выполнения функции wait() родительским процессом; CLONE_PIDFD_AUTOKILL — завершение дочернего процесса в случае закрытия связанного с ним дескриптора pidfd (например, при завершении родительского процесса).
- Для каждого модуля ядра в каталог /sys/module добавлен файл import_ns, содержащий список импортированных пространств имён символов (symbol namespace).
- В систему асинхронного ввода/вывода io_uring добавлена поддержка использования подсистемы BPF для создания обработчиков. Например, можно заменить основной цикл диспетчеризации на BPF-программу.
- BPF подсистемасында модернизирован анализ использования стека, что значительно ускорило проверку верификатором многих BPF-программ.
- С целью оптимизации производительности кайра жазылган подсистема hrtimer (high resolution timer). Планировщик задач теперь может использовать таймеры с высоким разрешением без потери производительности вместо менее точных таймеров.
- уланды перенос изменений из ветки Rust-for-Linux, драйверлерди жана ядро модулдарын иштеп чыгуу үчүн Rust тилин экинчи тил катары колдонууга байланыштуу (Rust колдоосу демейки шартта активдүү эмес жана Rust ядро үчүн милдеттүү түрдө курулган көз карандылыктардын тизмесине киргизилбейт). 1.85 версиясына чейин (жеткирилген күнү Debian 13) повышены требования к версии Rust, необходимой для сборки компонентов ядра. Добавлена экспериментальная Kconfig-опция CONFIG_RUST_INLINE_HELPERS для встраивания Си-прослоек в Rust-код во время компиляции (оптимизация ускорила работу блочного драйвера null на 2%). Добавлен макрос ‘const_assert!’. Расширены возможности модулей sizes, clk, ptr, sync, error.
- Механизмге SCHED_EXT, позволяющий использовать BPF для создания планировщиков CPU, кошулду начальная возможность создания вложенных планировщиков (sub-scheduler), при помощи которых для каждого cgroup можно задействовать собственный планировщик задач.
- Продолжена оптимизация подсистемы подкачки (swap). Удалена старая структура swap_map, заменённая на механизм «Алмашуу стол». Изменение позволило повысить производительность и уменьшить потребление памяти в подсистеме подкачки.
- В подсистему Дэймон (Data Access MONitor), позволяющую отслеживать доступ процесса к данным в оперативной памяти (например, можно узнать к каким областям памяти обращался процесс, а какие области памяти остались невостребованными), кошулду поддержка разных алгоритмов автоматического тюнинг квот.
- В подсистеме трассировки ишке ашырылган концепция внешних кольцевых буферов, позволяющая получать данные трассировки из виртуальных машин. Возможность задействована в гипервизорах KVM и nVHE для передачи данных трассировки из гостевой системы на сторону хоста.
- В подсистему RV (kernel.org) (Runtime Verification), предназначенную для проверки корректности работы высоконадёжных систем, добавлены компоненты мониторинга «короо» для отслеживания задач, выполнение которых временно приостановлено или заблокировано, и «мөөнөтү» для анализа поведения планировщика задач.
Виртуалдаштыруу жана коопсуздук
- По умолчанию выставлен флаг PROC_MEM_FORCE_PTRACE, допускающий обход прав доступа к памяти процесса через файл /proc/PID/mem только для процессов, применяющих для отладки системный вызов ptrace().
- Кошулган новый набор hook-ов для LSM-модулей (Linux Security Module), упрощающий реализацию политик для стековых файловых систем, таких как overlayfs. В LSM также кошулду hook для управления доступом к Unix-сокетам, который тартылган в LSM-модуле Landlock для назначения политик доступа к Unix-сокетам.
- Во встроенную криптобиблиотеку lib/crypto, предоставляющую более простые и быстрые функции, чем в традиционном crypto API, кошулду поддержка алгоритмов AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH и SM3. Добавлена документтер по lib/crypto.
- Реализован режим pKVM (Protected KVM) для строгой изоляции анонимдүү эс с использованием расширений виртуализации для архитектуры AArch64. В данном режиме страницы памяти гостевой исключаются из таблицы виртуальных адресов хостовой системы.
- В гипервизор KVM добавлена поддержка пятой версии виртуального контроллера прерываний ARM (VGICv5 — ARM Virtual Generic Interrupt Controller v5).
Тармактык подсистема
- Для unix-сокетов, создаваемых функцией socket(), ишке ашырылган поддержка расширенных атрибутов файлов (xattr) user.*. Из областей применения отмечается выставление меток через расширенные атрибуты к Unix-сокетам, используемым для IPC Varlink, с целью их выделения из общей массы для инспектирования и отладки работы IPC при помощи BPF-программ. В systemd-journald расширенные атрибуты намерены использовать для определения формата лога в привязке к сокету /dev/log.
- Жок кылынды поддержка протокола UDP-Lite (RFC 3828), допускающего доставку пакетов с неправильной контрольной суммой с расчётом на то, что, например, частично повреждённые аудио и видеоданные могут быть восстановлены на уровне кодека. Протокол удалён так как им никто не пользуется.
- Өчүрүлдү возможность сборки стека IPv6 в форме модуля ядра, которая не применялась на практике (IPv6 либо встраивают в ядро, либо полностью отключают), но усложняла сопровождение так как при сборке IPv6 модулем ядра (CONFIG_IPV6=m), множество подсистем вынуждены добавлять бесполезные обработчики на случай выгрузки модуля IPv6.
Жабдуулар
- AMDGPU драйверинде күйгүзүлгөн новый дисплейный движок (DC) для APU AMD серии HD 7000 (Sea Islands, GCN 1.1).
- Nouveau айдоочу кошулду начальная поддержка GPU NVIDIA GA100 на базе микроархитектуры Ampere.
- Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлена поддержка графической подсистемы процессоров Intel Nova Lake-P. Реализованы очищаемые буферные объекты (Purgeable Buffer Objects).
- Биз Turing микроархитектурасына негизделген NVIDIA GeForce RTX 2000 сериясынан бери колдонулган GSP микропрограммасы менен жабдылган NVIDIA GPUлары үчүн Nova драйвер компоненттерин интеграциялоону уланттык. Драйвер Rust тилинде жазылган. Turing микроархитектурасына негизделген GPUлар үчүн баштапкы колдоо кошулду.
- Кошулган DRM-драйвер corebootdrm для вывода графики через фреймбуфер прошивок на базе CoreBoot.
- Кошулган поддержка звуковых ASoC AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP и WM8962. Улучшена поддержка звуковых устройств с интерфейсом USB: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20.
- Кошулган драйвер yogafan для отслеживания скорости вращения кулера на ноутбуках Lenovo Yoga, Legion и IdeaPad.
- Кошулган поддержка ARM-плат, SoC и устройств: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 и ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
- Жок кылынды поддержка применяемых в SoC Baikal-T1 контроллеров AHCI SATA и PCIe, а также драйверов таймера, памяти, physmap, шины, hwmon, dwc и bt1-rom. В качестве причины удаления называется отсутствие сопровождения и незавершённая интеграция в состав ядра компонентов платформы Baikal, производство которой в РФ свернули в ноябре 2025 года.
- Өчүрүлдү 12 драйверов для Ethernet-устройств с интерфейсами ISA и PCMCIA, выпускавшихся до 2002 года, для которых не нашлись пользователи, применяющие их в рабочих системах. Также из ядра исключены подсистема Isdn, реализации протоколов AX.25, CAIF и Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), драйверы yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport и logibm (busmouse). Причиной удаления стало отсутствие активных сопровождающих на фоне увеличения числа выявляемых при помощи syzbot и AI-инструментов ошибок, которые никто не берётся исправлять и вся нагрузка нa устранение серьёзных проблем ложится на сопровождающих основные сетевые подсистемы ядра. Всего удалено более 140 тысяч строк кода.
Source: linux.org.ru
