Linux 6.7 уже выпущен, и это его новости

Такс, талисман ядра Linux

Ядро Linux является основой операционных систем (ОС) Linux и основным интерфейсом между аппаратным обеспечением компьютера и его процессами.

Недавно Линус Торвальдс представил выпуск нового ядра Linux версии 6.7, который представлен после двух месяцев разработки и среди наиболее заметных изменений — интеграция файловой системы Bcachefs, прекращение поддержки архитектуры Itanium, возможность работы Nouveau с прошивкой GSP-R, поддержка шифрования TLS в NVMe-TCP, возможность использования исключений в BPF, среди прочего.

Новая версия ядра Linux 6.7. Состоит из 15291 XNUMX исправлений. и примерно 45% всех внесенных изменений связаны с драйверами устройств, 14% изменений связаны с обновлением конкретного кода для аппаратных архитектур, 13% связаны с сетевым стеком, 5% связаны с файловыми системами и 3% связаны с внутренние подсистемы ядра.



Размер патча — 72 МБ (изменения затронули 13.467 906.147 файлов, было добавлено 341.048 XNUMX строк кода и удалено XNUMX XNUMX строк).



Основные новинки ядра Linux 6.7

Интеграция файловой системы Bcachefs

Linux 6.7 использует код файловой системы Bcachefs, который пытается достичь производительности, надежности и масштабируемости XFS в сочетании с элементами расширенной функциональности, присутствующей в Btrfs и ZFS.

Бкэшефс поддерживает такие функции, как включение нескольких устройств на одном разделе многослойные конструкции накопителей (нижний уровень с часто используемыми данными на основе быстрых SSD и верхний слой с данными с менее используемых жестких дисков), репликация (RAID 1/10), кэширование, прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), обрезка состояний, проверка целостности с помощью контрольных сумм, возможность хранения кодов коррекции ошибок Рида-Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305) . По производительности Bcachefs опережает Btrfs и другие файловые системы. основан на механизме копирования при записи и демонстрирует скорость работы, близкую к Ext4 и XFS.



Улучшения в Btrfs

В Linux 6.7 Для Btrfs реализован упрощенный режим квотирования. что позволяет повысить производительность, отслеживая расширения только в том подразделе, в котором они созданы, что значительно упрощает расчеты и повышает производительность, но он не позволяет совместно использовать расширения между несколькими подразделами. Кроме того, в Btrfs добавлена ​​новая структура данных дерева полос, подходящая для сопоставления логических расширений в ситуациях, когда физическое сопоставление между устройствами не совпадает. В настоящее время эта структура используется в реализациях RAID0 и RAID1 для зонированных блочных устройств.

Прекращение поддержки архитектуры Itanium (ia64)

Se suspendió el поддержка архитектуры ia64, используемой в процессорах Intel Itanium, что это такоенас полностью приостановят в 2021 году. Intel представила процессоры Itanium в 2001 году, но архитектура ia64 не смогла конкурировать с AMD64, в основном из-за более высокой производительности AMD64 и более плавного перехода от 86-битных процессоров x32.  Линус Торвальдс выразил готовность вернуть поддержку ia64 в ядро, но датолько если есть сопровождающий, который может продемонстрировать высокое качество поддержки для этой платформы вне основного ядра как минимум на год.

Непрерывная миграция изменений из ветки Rust-for-Linux

Новая версия переходит на использование версии Rust 1.73 и предлагает набор хуков для работы с рабочими очередями.



Улучшения в реализации очередей FIFO 

В этой новой версии Linux 6.7 реализация облегченного механизма FIFO одиночные соединения, которые требуют спин-блокировки только для удаления из очереди в контексте процесса и обходятся без нее для атомарных добавлений в очередь в любом контексте. Кроме того, был добавлен циклический буфер objpool с масштабируемой реализацией высокопроизводительной очереди для выделения и возврата объектов.

Поддержка шифрования TLS для NVMe-TCP

В Linux 6.7 драйвер NVMe-TCP (что позволяет получить доступ к дискам NVMe по сети), Добавлена ​​поддержка шифрования канала передачи данных с помощью TLS. (с использованием KTLS и фонового процесса) в пользовательском пространстве tlshd для согласования соединения.



Улучшена производительность планировщика пакетов.

Оптимизирована производительность планировщика пакетов fq., что позволило увеличить производительность на 5% при больших нагрузках в тесте tcp_rr (TCP Request/Response) и на 13% при неограниченном потоке UDP-пакетов.

Принятие опции аутентификации TCP

В стек TCP добавлена ​​поддержка расширения TCP-AO, позволяющего проверять TCP-заголовки с использованием MAC-кодов, используя более современные алгоритмы HMAC-SHA1 и CMAC-AES-128 вместо доступной ранее опции TCP-MD5 на основе устаревшего алгоритма MD5. .

Из другие изменения которые выделяются:

  • Добавлены новые настройки «cpuset.cpus.exclusive» и «cpuset.cpus.exclusive. Эффективный» в процессорный набор для привязки исключительно к ЦП.
  • Подсистема BPF реализует поддержку исключений, которые обрабатываются как аварийный выход из программы BPF с возможностью безопасного развертывания кадров стека. Кроме того, программы BPF позволяют использовать указатели kptr в связи с ЦП.
  • Для архитектур ARM32 и S390x добавлена ​​поддержка текущего набора (cpuv4) инструкций BPF.
  • Для архитектуры RISC-V возможно использование режима проверки стека Shadow-Call, доступного в Clang 17, предназначенного для защиты от перезаписи адреса возврата функции в случае переполнения буфера в стеке.
  • В механизм объединения одинаковых страниц памяти добавлен новый интеллектуальный режим сканирования страниц памяти (
  • В AppArmor добавлена ​​возможность контролировать доступ к механизму io_uring и создавать пользовательские пространства имен, что позволяет выборочно разрешать доступ к этим возможностям только определенным процессам.
  • Добавлен API сертификации виртуальных машин для проверки целостности процесса запуска виртуальной машины.
  • Системы LoongArch поддерживают виртуализацию с использованием гипервизора KVM.
  • Добавлена ​​первоначальная поддержка прошивки GSP-RM в модуль ядра Nouveau, который используется в графическом процессоре NVIDIA RTX 20+ для перемещения операций инициализации и управления с графического процессора на сторону микроконтроллера GSP.

наконец, если вы интересно узнать о нем больше, вы можете проверить детали По следующей ссылке.




2024-01-07T19:16:40
GNU / Linux