Выпуск Linux 6.7.
В новую версию принято 18405 исправлений от 2066 разработчиков, изменения затронули 13467 файлов, добавлено 906147 строк кода, удалено 341048 строк. Около 45% всех представленных в 6.7 изменений связаны с драйверами устройств, примерно 14% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 5% с файловыми системами и 3% с внутренними подсистемами ядра.
Основные изменения:
- В драйвере AMDGPU реализована поддержка GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 и DML2. Улучшена поддержка бесшовной загрузки (без мерцания при переключении видеорежима).
- В модуль ядра Nouveau добавлена начальная поддержка прошивок GSP-RM, которые используется в GPU NVIDIA RTX 20+ для выноса операций инициализации и управления GPU на сторону отдельного микроконтроллера GSP (GPU System Processor). Поддержка GSP-RM позволяет драйверу Nouveau работать через обращение к прошивке, вместо прямого программирования операций взаимодействия с оборудованием, что значительно упрощает добавление поддержки новых GPU NVIDIA благодаря использованию уже готовых вызовов для инициализации и управления энергопотреблением.
- В драйвере i915 реализована поддержка чипов Intel Meteor Lake и добавлена начальная реализация Intel LunarLake (Xe 2).
- Добавлена поддержка звуковых интерфейсов ноутбуков HUAWEI, поставляемых с CPU AMD.
- Прекращена поддержка архитектуры ia64, применяемой в процессорах Intel Itanium, продажи которых были полностью прекращены в 2021 году.
- Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра. В новой версии осуществлён переход на использование выпуска Rust 1.73 и предложен набор привязок для работы с рабочими очередями (workqueues).
- Предоставлена возможность использования механизма binfmt_misc для добавления поддержки новых форматов исполняемых файлов (например, для запуска скомпилированных приложений на Java или Python) внутри отдельных непривилегированных пространств имён (namespace).
- Добавлена начальная часть изменений для реализации нового API futex2, который отличается более высокой производительностью на NUMA-системах, поддерживает размеры, отличные от 32 бит, и может использоваться вместо мультиплексированного системного вызова futex().
- В состав ядра принят код файловой системы Bcachefs, в которой предпринята попытка добиться уровня производительности, надёжности и масштабируемости, свойственного XFS, в сочетании с элементами расширенной функциональности, имеющейся в Btrfs и ZFS. Например, Bcachefs поддерживает такие возможности, как включение в раздел нескольких устройств, многослойные раскладки накопителей (нижний слой с часто используемыми данными на базе быстрых SSD, а верхний слой с менее востребованными данными из жестких дисков), репликация (RAID 1/10), кэширование, прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), срезы состояния (снапшоты), верификация целостности по контрольным суммам, возможность хранения кодов коррекции ошибок Рида—Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305). По производительности Bcachefs опережает Btrfs и другие ФС на базе механизма Copy-on-Write, и демонстрирует скорость работы, близкую к Ext4 и XFS.
- В файловой системе Btrfs появился упрощённый режим квот, который позволяет добиться более высокой производительности за счёт отслеживания экстентов только в том подразделе, в котором они созданы, что существенно упрощает вычисления и повышает производительность, но не позволяет учитывать экстенты, совестно используемые в нескольких подразделах.
- В Btrfs добавлена новая структура данных "stripe tree", подходящая для логического маппинга экстентов в ситуациях, когда физических маппинг не совпадает на разных устройствах. Структура пока задействована в реализациях RAID0 и RAID1 для зонированных блочных устройств. В будущем данную структуру планируют использовать и в RAID более высокого уровня, что позволит решить ряд имеющихся в текущей реализации проблем.
- В файловой системе Ceph реализована поддержка маппинга идентификаторов пользователей примонтированных файловых систем, применяемого для сопоставления файлов определённого пользователя на примонтированном чужом разделе с другим пользователем в текущей системе.
- В efivarfs добавлена возможность указания uid и gid при монтировании для предоставления возможности изменения переменных UEFI процессами, запущенными без прав root.
- В exFAT добавлены ioctl-вызовы для чтения и изменения атрибутов ФС. Добавлена обработка каталогов нулевого размера.
- В F2FS реализована возможность использования блоков размером 16K.
- Механизм автомонтирования autofs переведён на использование нового API монтирования разделов.
- В OverlayFS предложены опции монтирования "lowerdir+" и "datadir+". Добавлена поддержка вложенного монтирования OverlayFS с xattrs.
- В XFS проведена оптимизация нагрузки на CPU в коде распределения блоков в реальном времени. Обеспечена возможность одновременного выполнения операций чтения и FICLONE.
- Код EXT2 переведён на использование фолиантов страниц памяти (page folios).
- Добавлен параметр командой строки ядра "ia32_emulation", позволяющий на стадии загрузки включать и отключать поддержку эмуляции 32-разрядного режима в ядрах, собранных для архитектуры x86-64. С практической стороны новый параметр позволяет собирать ядро с поддержкой совместимости с 32-разрядными приложениями, но по умолчанию отключать этот режим для снижения вектора атаки на ядро, так как API для обеспечения совместимости менее протестирован, чем основные интерфейсы ядра.
- В механизм слияния идентичных страниц памяти (KSM: Kernel Samepage Merging) добавлен новый умный режим сканирования страниц памяти, который отслеживает неудачно отсканированные страницы и снижает интенсивность их повторного сканирования. Для включения нового режима добавлена настройка /sys/kernel/mm/ksm/smart_scan.
- Удалён старый слой videobuf, использовавшийся для управления фреймвбуферами в медиаподсистеме и более 10 лет назад заменённый на новую реализацию videobuf2.
- В выполняемых под управлением KVM гостевых системах на базе архитектуры x86 разрешено использование до 4096 виртуальных CPU.
- В драйвер NVMe-TCP (NVMe over TCP), позволяющий обращаться к NVMe-накопителям по сети (NVM Express over Fabrics), используя протокол TCP, добавлена поддержка шифрования канала передачи данных с использованием TLS (используется KTLS и фоновый процесс в пространстве пользователя tlshd для согласования соединения).
- Проведена оптимизация производительности планировщика пакетов fq (Fair Queuing), позволившая поднять пропускную способность на 5% при больших нагрузках в тесте tcp_rr (TCP Request/Response) и на 13% при неограниченном потоке UDP-пакетов.
- В протокол TCP добавлена опциональная возможность использования временных меток (TCP TS) с микросекундной точностью (RFC 7323), что позволяет более точно оценивать задержки и создавать более продвинутые модули управления перегрузкой. Для включения можно использовать команду "ip route add 10/8 ... features tcp_usec_ts".
- В KSMBD, работающую на уровне ядра реализацию SMB-сервера, добавлена поддержка преобразования имён файлов, содержащих суррогатные пары составных символов.
- В NFS улучшена реализация потоков с RPC-сервисами. Добавлена поддержка делегирования записи (для NFSv4.1+). В NFSD добавлена поддержка netlink-обработчика rpc_status. Улучшена поддержка клиентов NFSv4.x при повторном экспортировании в knfsd.
- Добавлена поддержка асимметричных каналов передачи, добавленных в спецификации USB4 v2 (120/40G).
- Добавлена поддержка ARM SoC: Qualcomm Snapdragon 720G (применяется в смартфонах Xiaomi), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (применяется в маршрутизаторах и NAS).
- Добавлена поддержка смартфона Fairphone 5 и ARM-плат Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
- Добавлена поддержка RISC-V плат Milk-V Pioneer и Milk-V Duo.
- Добавлена поддержка дополнительных громкоговорителей, устанавливаемых на ноутбуки Dell Oasis 13/14/16. Добавлена поддержка встроенных громкоговорителей ASUS K6500ZC. Добавлена поддержка индикатора отключения звука на ноутбуках HP 255 G8 и G10. Добавлена поддержка звуковых драйверов acp6.3. Добавлена поддержка профессиональных интерфейсов звукозаписи Focusrite Clarett+ 2Pre и 4Pre.
Больше подробностей по ссылке.
Выпуск Linux 6 ⇐ Программное обеспечение
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение