Линус Торвальдс объявил об официальном выпуске нового ядра Linux 6.14, в котором появилось множество улучшений и новых функций.
Начнем с того, что многие геймеры и любители Wine будут в восторге от нового нативного драйвера синхронизации NT. Системы Windows NT используют методы синхронизации, которые довольно сильно отличаются от UNIX-подобных ОС, что часто приводит к накладным расходам при их эмуляции в Linux.
Этот драйвер устраняет эти накладные расходы, обеспечивая более высокую и плавную производительность, особенно в играх. В переводе на повседневный язык это означает меньшие задержки и более стабильный игровой процесс при запуске игр Windows на Linux.
Кроме того, пользователи Btrfs RAID1 теперь могут выбирать из нескольких новых методов балансировки чтения, чтобы лучше адаптироваться к различным конфигурациям оборудования и рабочим нагрузкам. Метод ротации по умолчанию поддерживает активность всех устройств, а опция задержки предназначена для ситуаций с нестабильными или отказывающими блочными слоями.
А для тех, кто предпочитает ручное управление, предлагается метод devid
. Другими словами, если у вас сложная конфигурация или отказавший диск, эти новые стратегии можно настроить для оптимизации пропускной способности и стабильности в вашем конкретном сценарии.
Еще одной привлекательной особенностью является недавно появившаяся поддержка буферизованного ввода/вывода без кэша, которая позволяет страницам данных выпадать из страничного кэша вскоре после операций чтения или записи.
Эта функция является решающим фактором для быстрых устройств, которые быстро заполняют системную оперативную память данными, которые больше не будут использоваться. Она обеспечивает простоту традиционного буферизованного ввода-вывода, а значит, вам не нужно возиться со сложностями прямого ввода-вывода, при этом обеспечивая максимальную эффективность системы.
Что касается уведомлений файловой системы, то ядро Linux 6.14 добавило событие fsnotify для уведомления о предварительном доступе к файлам. Проще говоря, это событие срабатывает непосредственно перед фактическим доступом к содержимому файла. Если зарегистрированный слушатель отреагирует отрицательно, попытка доступа может быть заблокирована.
Практическое применение – от загрузки файловых данных по требованию (например, с медленного или удаленного хранилища) до тонкого контроля над тем, может ли конкретный процесс читать файл в любой момент времени.
Также стоит отметить новую cgroup dmem для использования памяти GPU. Многие центры обработки данных и пользователи рабочих станций полагаются на вычисления с аппаратным ускорением, и обеспечение стабильности рабочих нагрузок на GPU имеет решающее значение.
Благодаря учету памяти GPU и выделенной драйверами памяти CPU в нужной cgroup администраторы теперь могут более тщательно балансировать и определять приоритеты рабочих нагрузок, предотвращая внезапные вытеснения и повышая производительность GPU в многопользовательских системах.
Кроме того, связь на основе io_uring повышает производительность FUSE. Файловые системы FUSE основаны на обмене данными между ядром и демоном пользовательского пространства. Использование io_uring, которое уменьшает переключение контекста и улучшает асинхронную работу, позволяет файловым системам на базе FUSE быстрее взаимодействовать и потенциально снизить задержки.
Поклонники машинного обучения также найдут много интересного. Новый драйвер AMD amdxdna официально обеспечивает поддержку AMD NPU (нейропроцессоров) на базе архитектуры AMD XDNA.
Это облегчает работу с Ai – от конволюционных нейронных сетей до больших языковых моделей – непосредственно на оборудовании AMD, без необходимости собирать сложные решения вне дерева.
Что касается более традиционных файловых систем, то поддержка XFS reflink и reverse-mapping для устройств реального времени наконец-то устраняет некоторые давние пробелы в функциях. С помощью reflink копирование или создание моментальных снимков файлов становится более эффективным с точки зрения занимаемого пространства, а обратное отображение является необходимым элементом для расширенных проверок согласованности и восстановления.
NFS, основной элемент корпоративных сред, тоже получил поддержку. NFSv4.2 теперь поддерживает делегирование атрибутов, что позволяет экономить время при работе с часто записываемыми файлами, передавая управление определенными метаданными (например, файлами mtime) клиенту. Это улучшение может заметно ускорить рабочие процессы, которые в значительной степени зависят от сетевого хранилища.
Наконец, TLB получила оптимизацию масштабируемости для тех, кто копается во внутренностях ядра на системах x86. По сути, ядро теперь может более эффективно очищать буферы translation lookaside (которые кэшируют преобразования виртуальной памяти в физическую). Это означает более быструю работу на высоконагруженных или виртуализированных системах и, по результатам тестов в микробенчмарках, дает определенный прирост производительности.
Конечно, эти основные моменты – лишь малая часть того, что появилось в 6.14. В этом выпуске также появилось множество драйверов, исправлений в системе безопасности, улучшений в виртуализации и многое другое.
Энтузиасты ядра, желающие более глубокого погружения, могут ознакомиться с отличными отчетами LWN об окнах слияния (часть 1 и часть 2), в которых содержится подробное описание всех изменений кода, попавших в основную ветку.
Для тех, кто хочет самостоятельно скомпилировать ядро Linux 6.14, оно уже доступно для загрузки на сайте kernel.org.
Комментарии (0)