
বিকাশের দুই মাস পর, লিনাস টরভাল্ডস পেশ কার্নেল রিলিজ 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% c внутренними подсистемами ядра.
কার্নেল 7.1-এর নতুন বৈশিষ্ট্যগুলি (kernelnewbies.org, lwn.net, ওপেননেট):
ডিস্ক সাবসিস্টেম, I/O এবং ফাইল সিস্টেম
- В состав принята новая реализация файловой системы 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.
- Задействован по умолчанию механизм ইন্টেল ফ্রেড (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 улучшена поддержка расширения архитектуры набора команд এমপিএএম (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) ভাষার ব্যবহার সম্পর্কিত (ডিফল্টরূপে রাস্ট সমর্থন সক্রিয় থাকে না, এবং এর ফলে কার্নেলের জন্য বাধ্যতামূলক বিল্ড নির্ভরতার তালিকায় রাস্ট অন্তর্ভুক্ত হয় না)। সংস্করণ ১.৮৫ পর্যন্ত (যা এতে অন্তর্ভুক্ত ছিল) 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, заменённая на механизм «টেবিল অদলবদল করুন». Изменение позволило повысить производительность и уменьшить потребление памяти в подсистеме подкачки.
- В подсистему DAMON (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).
- আমরা টিউরিং মাইক্রোআর্কিটেকচারের উপর ভিত্তি করে তৈরি এনভিডিয়া জিফোর্স আরটিএক্স ২০০০ সিরিজ থেকে ব্যবহৃত জিএসপি ফার্মওয়্যারযুক্ত এনভিডিয়া জিপিইউ-এর জন্য নোভা ড্রাইভার কম্পোনেন্টগুলোকে একীভূত করা অব্যাহত রেখেছি। ড্রাইভারটি রাস্ট (Rust) ভাষায় লেখা হয়েছে। টিউরিং মাইক্রোআর্কিটেকচারের উপর ভিত্তি করে তৈরি জিপিইউ-এর জন্য প্রাথমিক সাপোর্ট যোগ করা হয়েছে।
- Добавлен 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 тысяч строк кода.
উত্স: linux.org.ru
