что нового «выросло» в ядре? / Хабр
DRoman0vБлог компании Selectel Разработка под Linux *Софт
На днях на Хабре публиковалась новость о том, что Торвальдс представил новый релиз ядра Linux, который получил номер 6.0, вместо, например, 5.20. Противники такой нумерации, конечно, есть, но Торвальдс особо не обращает на них внимания.
Но сегодня поговорим не про нумерацию версий, а про подробности самого релиза. Среди самых заметных изменений — оптимизация менеджера задач, верификация корректности ядра, драйвер ublk, поддержка асинхронной буферизованной записи в XFS и ряд других дополнений и обновлений. Подробности — под катом.
Несмотря на то, что по словам самого Линуса Торвальдса, в новой версии ядра нет ничего революционного, в ней все же немало изменений. Так, в релизе — 16585 исправлений от более, чем 2 000 разработчиков.
Виртуализация и безопасность
- Выполнена интеграция компонентов ядра для управления анклавами на базе технологии, которая называется Intel SGX2 (Software Guard eXtensions). Она дает возможность приложениям выполнять код в изолированных и зашифрованных областях памяти, к которым ограничен доступ для других компонентов системы. Эта технология поддерживается, например, чипами Intel Ice Lake и Gemini Lake.
- Добавлен механизм для определения зависаний гостевых систем, это реализовано путем мониторинга активности vCPU.
- Кроме того, появилась возможность передачи затравки для генератора псевдослучайных чисел через настройки загрузчика в отношении архитектуры x86.
- Еще важный момент — в добавлении механизма верификации с названием RV (Runtime Verification). Он нужен для проверки корректности работы на высоконадежных системах, которые гарантируют отсутствие сбоев. Достоинство механизма в возможности обеспечить строгую верификацию без отдельной реализации всей системы на языке моделирования, плюс гибком реагировании на неожиданные события.
Память и системные сервисы
- Наконец-то решены проблемы с производительностью систем на процессорах AMD Zen. О них уже сообщалось и на Хабре, и других СМИ. Проблема с падением производительности из-за кода, который был добавлен 20 лет назад. Предназначался он для обхода аппаратной проблемы в некоторых чипсетах. Нужна была дополнительная инструкция WAIT, которая замедляет процессор, чтобы чипсет мог вовремя перейти в состояние простоя.

В текущее время код приводил к значительному снижению производительности при нагрузках, в ходе которых часто чередуются состояния простоя и активности. - Кроме того, разработчики выполнили оптимизацию распределения задач по ядрам CPU на крупных системах, что позволило увеличить производительность при ряде видах нагрузок.
- Код ядра избавили от устаревшего интерфейса «efivars» в sysfs, предназначенный для доступа к загрузочным переменным UEFI (для доступа к данным EFI теперь повсеместно применяется виртуальная ФС efivarfs).
- В подсистеме DAMON (Data Access MONitor) появились новые возможности, которые позволяют не только отслеживать доступ процессов в оперативной памяти из пространства пользователя, но и в значительной степени влиять на управление памятью.
- В планировщике задач теперь нет кода с эвристикой, которая обеспечивает миграцию процессов на минимально загруженные процессоры с учетом прогнозируемого снижения энергопотребления.
По словам специалистов, выигрыш минимальный, так что проще вообще убрать код, чем тратить ресурсы на его работу. В итоге отключение эвристики уже позволило снизить энергопотребления в тесте с декодированием видео на 5,6%. - Такие архитектуры, как OpenRISC и LoongArch, получили поддержку шины PCI. Ну а RISC-V получила расширение «Zicbom» для управления устройствами c DMA, не согласованным с кэшем (non-cache-coherent).
Дисковая подсистема, I/O, файловые системы
- В файловой системе F2FS появился режим низкого потребления памяти. Он оптимизирует работу на устройствах с небольшим объемом оперативки. Так что ценой снижения производительности можно снизить и потребление памяти.
- Ну а в файловой системе XFS появилась поддержка асинхронной буферизованной записи для приложений. Речь идет, в первую очередь, о приложениях, которые используют io_uring. После тестов оказввода/вывода в секунду (IOPS) увеличились с 77k до 209k, скорости передачи данных – с 314MB/s до 854MB/s.
Задержки упали с 9600ns до 120ns (80 раз). Тестирование выполнялось при помощи fio, 1 поток, размер блока 4кб, 600 секунд, последовательная запись. - В ext4 появились новые ioctl-операции EXT4_IOC_GETFSUUID и EXT4_IC_SETFSUUID для извлечения или установки UUID-идентификатора, который хранится в суперблоке.
- В Btrfs добавлена втора версия протокола для send, которая реализует поддержку дополнительных метаданных. Она позволяет отправлять данные блоками более 64К, плюс передавать экстенты в сжатом виде. Ну и примерно в 3 раза увеличена производительность операций прямого чтения.
Сеть
- Тут изменений немного. Есть повышение производительности встроенной в ядро реализации TLS.
- В беспроводном стеке появилась поддержка механизма MLO (Multi-Link Operation), который определен в спецификации WiFi 7 и дает возможность устройствам получать и отправлять данные одновременно, причем с применением разных частот и каналов.

- В BPF появились обработчики для генерации и проверки SYN cookies.
Железо
- Здесь побольше новинок и апдейтов. Так, в драйвере i915 (Intel) обеспечена поддержка дискретных видеокарт Intel Arc (DG2/Alchemist) A750 и A770. Предложена начальная реализация поддержки GPU Intel Ponte Vecchio (Xe-HPC) и Meteor Lake. Кроме того, продолжается работа по реализации поддержки платформы Intel Raptor Lake.
- В amdgpu продолжают внедрять поддержку платформ AMD RDNA3 (RX 7000) и CDNA (Instinct).
- Появился новый DRM-драйвер logicvc для экранов LogiCVC.
- В v3D теперь есть поддержка четвертой версии «малинок».
- В Panfrost добавили поддержку GPU ARM Mali Valhall.
- Кроме того, добавлена поддержка процессоров Qualcomm Snapdragon 8cx Gen3, используемых в ноутбуках Lenovo ThinkPad X13s, добавлены драйверы звука для платформ AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake и Mediatek MT8186.

- Также добавлена поддержка ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3.
Теги:
- linux
- софт
- ядро
- торвальдс
Хабы:
- Блог компании Selectel
- Разработка под Linux
- Софт
Всего голосов 45: ↑45 и ↓0 +45
Просмотры16K
Комментарии 1
ВКонтакте Telegram
Denis @DRoman0v
Инженер
Комментарии Комментарии 1
Дата выхода Linux Mint 21 и что нового
Возможно вы уже знаете, что дистрибутив Linux Mint основан на выпуске Ubuntu с длительным сроком поддержки (LTS). Ubuntu 22.04 LTS была выпущена несколько месяцев назад. Это значит, что новая версия Linux Mint уже не за горами.
И действительно, следующая мажорная версия Linux Mint 21 уже находится в разработке.
Официально дата выхода Linux Mint 21 ещё не объявлена, однако можно ожидать что это будет 22 июля или начало августа.
Содержание статьи:
Кодовое имя Linux Mint 21
Каждый релиз Linux Mint, не зависимо от того, минорный или мажорный имеет кодовое имя. Это женское имя, обычно, греческого или латинского происхождения. В кодовых именах релизов Linux Mint тоже прослеживается закономерность, также как и у Ubuntu. Для мажорных релизов кодовые имена расположены в алфавитном порядке, по возрастанию. Для минорных релизов используется та же буква, что и для мажорного.
Например, Linux Mint 20 назывался Ulyana, 20.1 — Ulyssa, 20.2 — Uma и 20.3 — Una. Релизы Linux Mint 19.х получили кодовые имена на букву T. Кодовые имена Mint 21.х будут начинаться на V и первый релиз в серии получит имя Vanessa.
Скорее всего, будет как минимум три минорных релиза Linux Mint 21.х и они будут выходить каждые шесть месяцев до выхода следующего мажорного релиза в 2024 году. Все они будут иметь кодовые имена, которые начинаются на V.
Что нового в Linux Mint 21
Пока что доступно не так много информации о том что нового будет в Linux Mint 21. Всё что здесь перечислено, основывается на официальных анонсах, форумах и репозиториях GitHub.
1. Новый инструмент для обновления
Пользователи Linux Mint 20.3 смогут достаточно легко обновиться до Mint 21 благодаря новому инструменту для обновления.
Ранее, для обновления до новой версии приходилось использовать терминал. Теперь все можно сделать в несколько кликов мыши в графическом интерфейсе. Инструмент покажет какие пакеты будут обновлены, а какие нет. Поддерживается несколько языков. Инструмент даже может проверить поддерживаются ли подключенные PPA в новом релизе.
В целом, это неплохой инструмент для упрощения процесса обновления. Приятно видеть, что разработчики Linux Mint разрабатывают графические инструменты, помогающие пользователям.
2. Новое приложение для Bluetooth
Mint 21 будет включать инструмент Blueman для управления настройками Bluetooth, хотя этот инструмент и не разработан командой Mint.
Что не так с существующим инструментом Blueberry? Ничего серьезного. Но он не совместим с Gnome 42 (А именно на этой версии окружения основана следующая версия окружения рабочего стола Cinnamon). Главный разработчик, Клем Лефевр упомянул, что из-за действий команды разработки Bluetooth в Gnome, которая не хочет чтобы её продукт могли использовать пользователи других оболочек кроме Gnome разработка Blueberry скорее всего будет прекращена.
У Blueberry был простой интерфейс, в то же время как у Blueman есть большое количество настроек, которые вам вряд-ли понадобятся.
3. TimeShift теперь инструмент Mint
Команда Mint уже некоторое время рекомендует использовать инструмент TimeShift для резервного копирования настроек системы. Его почти можно было считать частью набора приложений Mint. Хорошая новость в том, что команда Linux Mint взяла на себя разработку TimeShift. Теперь это часть XApp и TimeShift будет лучше интегрирован в экосистему Linux Mint.
Уже есть даже некоторые наработки.
Например, в режиме rsync, TimeShift теперь рассчитывает необходимое место для следующего снимка и пропускает его если после создания снимка на диске останется меньше 1 Гб свободного места.
4. Поддержка WebP
В наши дни среди владельцев сайтов становится популярным формат изображений WebP. Такие изображения имеют меньший размер без потери качества. Если вы попытаетесь загрузить изображения в формате WebP из интернета, они будут открываться в браузере. Если вы захотите открыть их в системе, то вам придется установить дополнительные пакеты для поддержки WebP.
Linux Mint 21 будет иметь поддержку WebP по умолчанию. Вы сможете открывать изображения WebP в просмотрщике изображений, а их превью будут отображаться в файловом менеджере Nemo.
5. Нет проблем с загрузкой Windows
Многие заметили, что в Ubuntu 22.04 из меню загрузки Grub пропала Windows в системах с загрузкой двух операционных систем. Это случилось потому что поддержка os-prober была отключена по умолчанию в Grub 2.
6.
Команда Mint решила обратно включить os-prober по умолчанию. Это значит, что загрузчик Grub в Mint 21 сможет корректно обнаружить Windows и другие ОС, как это было раньше.
6. Нет неожиданного завершения приложений
В Ubuntu 22.04 появилась служба systemd-oomd, которая предотвращает переполнение оперативной памяти в пространстве пользователя. Этот сервис принимает меры до того как переполнение оперативной памяти затронет пространство ядра.
Когда в системе не хватает оперативной памяти эта служба начинает действовать чтобы гарантировать, что система продолжит работу. Как она это делает? Убивая некоторые запущенные приложения. Однако из-за этого возникли проблемы. Пользователи Ubuntu начали жаловаться на случайное закрытие работающих приложений.
По этой причине команда Mint приняла решение не включать эту функцию улучшения производительности в Linux Mint 21.
7. Поддержка AppImage
Похоже в Linux Mint 21 отменяются многие вещи, которые были сделаны в Ubuntu.
Библиотека libfuse была удалена из Ubuntu 22.04 LTS, поэтому в Ubuntu вы не сможете запускать AppImage приложения пока не установите её вручную.
Команда Linux Mint, приняла это к сведению и включила в Linux Mint 21 библиотеки libfuse2 и libfuse3-3 по умолчанию.
8. Новое ПО и ядро
Конечно, Linux Mint 21 будет поставляться с обновлёнными версиями многих популярных приложений и новым ядром версии 5.15 LTS. Новая версия окружения рабочего стола Cinnamon может принести визуальные изменения.
Выводы
Сейчас самый разгар разработки Mint 21. Хотя от команды Mint нет регулярных новостей о том как идет разработка, все станет ясно когда выйдет бета версия. Когда дата выхода Linux Mint 21 станет известна, она будет добавлена в статью. А пока расскажите свое мнение о Linux Mint 21. Что вы ожидаете от новой версии?
Выпущено ядро Linux 6.1, вот что нового
Линус Торвальдс устраивает соревнование с Санта-Клаусом, поскольку обожающий FOSS финн кладет под елку самый лучший подарок в этот праздничный сезон: совершенно новое ядро Linux.
Да, ядро Linux 6.1 готово для питания серверов, настольных компьютеров, смартфонов, коммутаторов, маршрутизаторов и всего, что между ними, по всему миру. Объявляя о прибытии в список рассылки ядра Linux, Линус Торвальдс говорит: «Итак, мы здесь, на неделю позже, но прошлая неделя была приятной и медленной, и я гораздо более доволен состоянием 6.1, чем я был парой недели назад».
Ядро Linux разрабатывается и поддерживается международным сообществом инженеров и энтузиастов. В то время как многие из тех, кто вносит свой вклад в ядро Linux в рамках своей повседневной работы, другие предпочитают делать это в свободное время, по собственному желанию и на своих условиях.
Давайте подробнее рассмотрим, чем недавно занимались эти замечательные ребята…
Особенности ядра Linux 6.1
Основным дополнением к Linux 6.1 является основная (экспериментальная) поддержка Rust 9.0004 , «мультипарадигмальный язык программирования общего назначения», набирает обороты как снежный ком в ландшафте с открытым исходным кодом.
Несмотря на небольшой объем, эта первоначальная партия доработок соответствует стремлению позволить разработчикам ядра писать код ядра на Rust.
Другим дополнением к ядру Linux 6.1 является Multi-Generation Least-Recently-Used (также известный как MG-LRU ; хотя это еще не включено по умолчанию). Цитируя документацию ядра, эта функция, ориентированная на память: «…оптимизирует восстановление страниц и повышает производительность при нехватке памяти» — эй: лучшая производительность всегда приветствуется.
Пользователь Btrfs? Linux 6.1 включает в себя «кучу улучшений производительности» файловой системы Btrfs, в том числе новое дерево групп блоков для ускорения монтирования в больших файловых системах, дополнительную интеграцию io_uring, оптимизированный экспорт sysfs; и «выдающееся улучшение скорости FIEMAP».
В другом месте файловая система erofs теперь может совместно использовать дублированные данные между файловыми системами; а файловая система EXT4 выигрывает от множества исправлений, чисток и настроек, последние из которых включают в себя отказ от предварительной выборки растровых изображений распределения блоков для файловых систем, доступных только для чтения.
Кроме того, PinePhone Pro теперь может работать на основном ядре Linux 6.1, как и набор старых Android-смартфонов, включая Sony Xperia 1 IV и Samsung Galaxy E5, E7 и Grand Max. Кроме того, теперь есть драйвер ввода для корпуса клавиатуры PinePhone.
Драйвер Nintendo HID теперь настолько отточен, что с ним будут работать «дешевые клоны» контроллеров; , а драйвер Logitech теперь позволяет использовать HID++ для всех устройств Bluetooth и, как сообщает Phoronix, может автоматически определять возможность прокрутки с высоким разрешением, если поддерживается — функция зачеркивания была возвращена в последнюю минуту.
Стек из
Драйвер ввода ядра XPad поддерживает несколько новых устройств, в том числе манипуляторы Xbox One Elite на оригинальной версии Elite и серии Elite 2.
Другие поддерживаемые устройства включают геймпад Hori Fighting Commander ONE (в том числе в режиме Xbox), проводной контроллер 8BitDo Pro 2 и ряд клавиатур Wooting, включая Wooting One, Two, Two HE и 60HE.
Ядро 6.1 также включает обычную основу для процессоров и графических процессоров следующего поколения. Работа в 6.1 включает новый код драйвера для платформы управления платформой AMD на будущих чипах Ryzen; сантехника для 5-нанометровых чипов Intel Meteor Lake; и продолжение работы над Intel Arc Graphics DG2/Alchemist.
Другие изменения:
- Дезинфицирующее средство памяти ядра (KMSAN) объединено
- Дополнительная поддержка ЦП LoongArch
- Ядро может выполнять распаковку + запуск независимо от архитектуры в системах EFI
- Более быстрое декодирование ошибок памяти Intel с помощью драйвера EDAC
- Поддержка структуры данных Maple Tree
- Новые меры безопасности для возможности создания пространств имен пользователей
- Ядро напечатает ядро ЦП, где возникает ошибка сегментации
В целом, ядро Linux 6.
1 предлагает ряд новых функций и улучшений, повышающих производительность и безопасность систем на базе Linux. Эти усовершенствования делают Linux еще более мощной и гибкой операционной системой, способной удовлетворить потребности широкого круга приложений и пользователей.
Хотите еще больше информации о последней версии? Взгляните на обзор функций Phoronix для получения информации верхнего уровня или погрузитесь в подробности с отчетом о слиянии LWN 1 и отчетом о слиянии LWN 2.
Получение Linux 6.1
Linux 6.1 доступен для загрузки в виде исходного кода прямо сейчас, который вы можете скомпилировать вручную на выбранном вами дистрибутиве? Не для этого? Подождите, пока сопровождающий вашего дистрибутива упакует полупрививку вместо этого.
В то время как некоторые дистрибутивы (например, Arch) упаковывают новые выпуски ядра Linux и выдают их пользователям в виде обновлений, Ubuntu этого не делает. В качестве дистрибутива с фиксированным выпуском новые выпуски ядра поставляются только в новых выпусках, хотя выпуски LTS действительно получают периодические новые обновления ядра, перенесенные из более поздних выпусков.
Вы можете попробовать основной репозиторий Canonical для установки Linux 6.1 на дистрибутивы на основе Ubuntu. Это НЕ рекомендуется. Сборки основной ветки не поставляются с какой-либо гарантией, поддержкой или тестированием, чтобы гарантировать их отсутствие. Используйте на свой страх и риск.
Новости Линус Торвальдс линукс ядро
Выпущено ядро Linux 6.0, вот что нового
Новый месяц, и новая версия ядра Linux теперь доступна для использования.
Linux 6.0 запускает серию 6.x в отличной форме, предлагая ряд улучшений производительности, поддержку нового оборудования, исправления безопасности и обычный набор настроек файловой системы.
Объявляя о выпуске в списке рассылки ядра Linux, Линус Торвальдс сказал: «Надеюсь, всем ясно, что изменение основного номера версии больше связано с тем, что у меня заканчиваются пальцы на руках и ногах, чем с какими-то большими фундаментальными изменениями. ”
«Но, конечно же, в 6.0 есть много различных изменений — в конце концов, у нас там более 15 тысяч коммитов без слияния, и поэтому 6.0 — один из самых больших выпусков, по крайней мере, по количеству совершает через некоторое время.
Чтобы узнать больше о том, что нового в ядре Linux 6.0, читайте дальше.
Особенности ядра Linux 6.0
Новое ядро, новые функции Сравнительный анализ, проведенный Phoronix, показывает заметные улучшения производительности процессоров Intel Xeon «Ice Lake», AMD Ryzen «Threadripper» и AMD EPYC благодаря изменениям планировщика и другим настройкам энергопотребления ядра. Всегда приятно видеть, как Linux выжимает больше энергии, используя меньше энергии.
В Linux 6.0 также предусмотрена некоторая обязательная подготовка к будущему, заложенная основа для ряда будущего оборудования. Сюда входит поддержка серверных чипов Intel Xeon четвертого поколения «Sapphire Rapids» и их базовых чипов 13-го поколения «Raptor Lake».
AMD предоставляет графический драйвер ядра для своего графического процессора RDNA 3, выпускает новый аудиодрайвер для платформ AMD «Raphael» и улучшает поддержку звука для систем AMD «Jadeite». Те, кто заметил проблемы с клавиатурой на ноутбуках серии Ryzen 6000, должны при использовании Linux 6.0 обнаружить, что все снова работает, как ожидалось.
Обе архитектуры OpenRISC и LoongArch получают поддержку шин PCI, а RISC-V расширяет возможности управления блоками кэша с помощью ряда новых расширений, включая расширение «Zicbom». RISC-V также поставляется с новой конфигурацией по умолчанию, позволяющей запускать Docker с самого начала.
(дорогой) ноутбук Lenovo ThinkPad X13s, работающий на процессоре Qualcomm Snapdragon 8cx Gen3, начинает получать поддержку.
ThinkPad X13s предварительно загружен Windows 11 для ARM, но, поскольку поддержка Linux сейчас находится на стадии становления, он может стать отличным эталонным устройством для энтузиастов Linux ARM.
Говоря о ноутбуках, которые используют энтузиасты Linux, некоторые компьютеры TUXEDO и ноутбуки Clevo имели проблемы с сенсорными панелями и клавиатурой при выходе из режима ожидания в более ранних версиях ядра. Теперь они исправлены в Linux 6.0.
Поддерживаемое новое оборудование включает планшет для рисования XP-PEN Deco L, ряд датчиков на материнских платах AMD, включая поддержку Sensor Fusion Hub на новых ноутбуках Ryzen и функциональный Thunderbolt на Intel Raptor Lake.
Файловая система Ubuntu по умолчанию остается ext4, поэтому я хотел бы упомянуть, что Linux 6.0 поддерживает две новые операции ioctl(): EXT4_IOC_GETFSUUID и EXT4_IC_SETFSUUID. Это позволяет получить или установить UUID, хранящийся в суперблоке файловой системы.
Other assorted changes in Linux 6.
0 include:
- Kernel support for NVMe in-band authentication
- Runtime verification subsystem
- Raspberry Pi 4 V3D kernel driver
- IO_uring user-space block driver
- Буферизированная запись в файловых системах XFS
- Поддержка протокола отправки V2 для Btrfs
- H.265/HEVC API повышен до стабильной версии
Плюс, как вы понимаете, многое другое. Я рекомендую ознакомиться с обзором функций Phoronix для получения информации верхнего уровня или погрузиться в подробный отчет о слиянии LWN 1 и отчет о слиянии LWN 2 для получения более подробной информации.
Получить Linux 6.0
Linux 6.0 доступен для загрузки в виде исходного кода прямо сейчас, который вы можете скомпилировать вручную на выбранном вами дистрибутиве? Не для этого? Подождите, пока сопровождающий вашего дистрибутива упакует полупрививку вместо этого.

