Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Представлен релиз ядра Linux 6.8

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.8. Среди наиболее заметных изменений: драйвер Xe для GPU Intel, режим защиты блочных устройств с примонтированными ФС, механизм планировщика задач Deadline server, автоматическая оптимизация слияния идентичных страниц памяти, первый драйвер на языке Rust, системные вызовы listmount и statmount, удаление bpfilter и SLAB, механизм guest_memfd в KVM, профилирование обращения к данным.

В новую версию принято 15641 исправлений от 2018 разработчиков, размер патча - 44 МБ (изменения затронули 12212 файлов, добавлено 663864 строк кода, удалено 339094 строк). В прошлом выпуске было 18405 исправлений от 2066 разработчиков, размер патча - 72 МБ. Около 42% всех представленных в 6.8 изменений связаны с драйверами устройств, примерно 15% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 6% - с файловыми системами и 3% c внутренними подсистемами ядра.

В Git-репозитории с ядром 6.8 присутствует 9.996 млн. объектов, что свидетельствует о том, что следующее ядро 6.9 преодолеет знаковый рубеж в 10 млн git-объектов. Ранее смена номеров веток 3.x и 4.x хорошо коррелировала с числом git-объектов в репозитории - ядро 3.0 было выпущено, когда в репозитории находилось примерно 2 млн объектов, а ядро 4.0 - 4 млн объектов. При этом в 2019 году выпуск 5.0 разорвал данную логическую цепочку, так как в при его формировании репозиторий включал примерно 6.5 млн git-объектов.

Основные новшества в ядре 6.8:

  • Дисковая подсистема, ввод/вывод и файловые системы
    • Добавлен режим блокирования прямой записи на блочные устройства, на которых имеются примонтированные файловые системы (после включения режима, пользователь root не сможет внести изменения в ФС через манипуляции на уровне блочного устройства). По умолчанию режим отключён и требует указания параметра BLK_DEV_WRITE_MOUNTED при сборке. Для разделов с Btrfs блокировка пока не работает, так как в код Btrfs ещё не приняты необходимые изменения.
    • Добавлены системные вызовы listmount() и statmount(), позволяющие из пространства пользователя получить детальную информацию о примонтированных файловых системах.
    • В файловой системе XFS продолжена работа над реализацией возможности применения утилиты fsck для проверки и исправления выявленных проблем в online-режиме, без отмонтирования файловой системы.
    • В Ext4 для блоков размером меньше страницы памяти задействован вызов dioread_nolock, позволяющий повысить производительность, благодаря избавлению от лишних блокировок. Некоторые функции переведены на использование фолиантов страниц памяти (page folios).
    • В Btrfs добавлена поддержка флага монтирования "nospace_cache" для отключения кэша свободных блоков. Некоторые функции переведены на использование фолиантов страниц памяти (page folios).
    • В файловой системе EROFS (Extendable Read-Only File System), предназначенной для использования на разделах, доступных в режиме только для чтения, добавлена поддержка сжатия субстраниц и улучшена работа в ситуации нехватки памяти.
    • В файловой системе F2FS улучшена поддержка зонированных устройств хранения (разделение на зоны групп блоков или секторов, в которые допускается лишь последовательное добавление данных с обновлением целиком всей группы блоков).
    • Для ФС SMB реализована возможность создания блочных и символьных файлов устройств.
    • В Bcachefs добавлена частичная поддержка проверки и восстановления целостности примонтированных ФС.
    • В подсистеме device-mapper прекращена поддержка обработчиков MD_LINEAR, MD_MULTIPATH и MD_FAULTY, объявленных устаревшими в 2021 году.
  • Память и системные сервисы
    • В подсистему Zswap добавлена активируемая при нехватке оперативной памяти возможность принудительной выгрузки в реальный раздел подкачки "холодных" страниц памяти, к которым не было обращения и которые скорее всего останутся невостребованными. Zswap выполняет кэширование вытесняемых в раздел подкачки страниц, храня их в оперативной памяти в сжатом виде по возможности без сброса в реальный несжатый раздел подкачки на диске. Внесённые изменения при нехватке памяти позволяют уменьшить размер хранимого в ОЗУ пула Zswap и высвободить память системе.
    • В Zswap предложен новый режим, который полностью отключает отложенную запись (writeback) в реальный раздел подкачки, если попытка записи не увенчалась успехом, и не сбрасывает уже имеющиеся в пуле zswap страницы в раздел подкачки.
    • В планировщик задач добавлен механизм SCHED_DEADLINE server, решающий проблему с недополучением ресурсов CPU обычными задачами в условиях монополизации CPU высокоприоритетными (realtime) задачами. Для предотвращения монополизации CPU в ядре ранее использовался механизм Realtime throttling, который пытался резервировать 5% для низкоприоритетных задач, оставляя 95% времени realtime-задачам. Данный механизм оставлял желать лучшего так как обычные задачи во многих ситуациях недополучали процессорное время. SCHED_DEADLINE server реализует более эффективный механизм резервирования ресурсов.
    • В подсистему DAMON (Data Access MONitor), позволяющую отслеживать доступ процесса к данным в оперативной памяти (например, можно узнать к каким областям памяти обращался процесс, а какие области памяти остались невостребованными), добавлен механизм автоматической настройки агрессивности потребления памяти на основе заданных квот.
    • Добавлена поддержка многоразмерных больших страниц памяти (mTHP - multi-size Transparent Huge Pages), позволяющая выделять память в блоках, размером больше базовой страницы, но меньше традиционной THP-страницы.
    • Добавлена поддержка крупных фолиантов (page folios, объединённые страницы памяти) для анонимной памяти (не привязанной к ФС, например, выделенной через malloc). Изменение нацелено на повышение производительности за счёт выделения больших кусков памяти во время обращения к невыделенным страницам памяти (page faults). Например, использование крупных фолиантов позволило на 5% сократить время пересборки ядра (при сокращении времени проводимого на уровне ядра на 40%).
    • В файл конфигурации ядра добавлен параметр TRANSPARENT_HUGEPAGE_NEVER, дающий возможность отключить использование больших страниц памяти (Transparent Huge Pages).
    • В системный вызов userfaultfd(), дающий возможность создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя, добавлена операция UFFDIO_MOVE, позволяющая при упаковке кучи (heap compaction) перемещать страницы памяти в виртуальном адресном пространстве без выполнения операции выделения страницы памяти. В проведённых тестах применение UFFDIO_MOVE позволило на 40% снизить время упаковки по сравнению с использованием операции UFFDIO_COPY.
    • Добавлен механизм "KSM advisor", позволяющий автоматически оптимизировать параметры подсистемы слияния идентичных страниц памяти (KSM - Kernel Samepage Merging).
    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). В новой версии включены изменения, добавляющие Rust-обвязку над уровнем абстракции phylib и использующий данную обвязку драйвер ax88796b_rust, обеспечивающий поддержку PHY-интерфейса Ethernet-контроллера Asix AX88772A (100MBit). По функциональности драйвер на Rust полностью эквивалентен старому драйверу ax88796b, написанному на языке Си, и может быть использован с сетевыми картами X-Surf 100, оснащёнными чипом AX88796B. Для архитектуры LoongArch предоставлена возможность написания модулей на языке Rust. Осуществлён переход на использование выпуска Rust 1.74.1.
    • Добавлен механизм BPF token, позволяющий выборочно делегировать обработку отдельных возможностей BPF, таких как загрузка программы BPF или создание BPF map, непривилегированным процессам в пространстве пользователя, достоверность которых подтверждена специальным токеном.
    • Расширена функциональность верификатора BPF-программ.
    • В утилиту perf добавлена поддержка профилирования данных, позволяющая отслеживать чтение и запись в структуры данных, например, с целью выявления наиболее активно модифицируемых полей в структурах. На системах с процессорами, поддерживающими сбор информации об операциях с памятью (Intel, AMD, ARM), для накопления статистики следует использовать команду "perf mem record", а для вывода отчёта об обращениях к структурам данных - "perf annotate --data-type".
    • Проведена оптимизация производительности обработки системных вызовов на архитектуре s390 (IBM Z), которая привела в тестах к ускорению входа в системный вызов примерно на 11%.
    • Предоставлена возможность изменения размера буферов трассировки, применяемых для буферизации информации о событиях трассировки, передаваемых в пространство пользователя.
    • Удалён ранее объявленный устаревшим механизм распределения памяти SLAB, вместо которого в ядре теперь используется только SLUB. В качестве причины называются проблемы с сопровождением, наличие проблем в коде и дублирование функциональности с более совершенным аллокатором SLUB.
    • При сборке ядра включён флаг "-Wmissing-prototypes", генерирующий предупреждения для вызовов глобальных функций, которые не имеют определения прототипа.
    • Для архитектуры RISC-V на системах с поддержкой расширения SUSP SBI реализована поддержка перехода в ждущий режим с сохранением состояния в ОЗУ. Предоставлена возможность использования системного вызова riscv_hwprobe() для получения информации о поддерживаемых расширениях архитектуры набора команд RISC-V.
  • Виртуализация и безопасность
    • Добавлены новые системные вызовы lsm_list_modules(), lsm_get_self_attr() и lsm_set_self_attr() для вывода списка загруженных LSM-модулей (Linux Security Modules) и получения/выставления атрибутов LSM-модуля. Добавлена новая структура lsm_ctx для коммуникации в контексте LSM между пространством пользователя и ядром.
    • Подсистема AppArmor переведена на использование для верификации правил алгоритма SHA-256, вместо хэшей SHA-1.
    • Из ядра удалена реализация функции strlcpy(), которая летом была включена в состав Си-библиотеки Glibc 3.38. Strlcpy является альтернативой функции strncpy(), содержащей защиту от переполнения буфера и обязательно выставляющей замыкающий строку нулевой байт.
    • В гипервизор KVM добавлена поддержка подсистемы guest_memfd (guest-first memory), предоставляющая функции управления памятью, позволяющие реализовать возможности и оптимизации, недостижимые при использование общей подсистемы управления памятью. Например, guest_memfd даёт возможность выделить и отразить на гостевую систему область память, недостижимую для хост-окружения, что может использоваться для организации конфиденциальных вычислений.
    • Для гостевых систем, работающих под управлением гипервизора KVM, включена поддержка предоставляемого в процессорах Intel режима LAM (Linear Address Masking), позволяющего использовать часть битов 64-разрядных указателей (c 57 по 62 биты) для хранения не связанных с адресацией метаданных.
    • В гипервизор KVM для систем на базе архитектуры ARM64 добавлена поддержка 52-разрядных (LPA2) физических адресов. Для систем с архитектурой x86 предоставлена возможность сборки без эмуляции гипервызовов Hyper-V, позволяющая сократить размер ядра.
    • Добавлен драйвер iaa (IAA Compression Accelerator) для ускорения операции сжатия и распаковки данных методом DEFLATE, используя возможности криптографических ускорителей Intel Analytics Accelerator (IAA).
    • На стороне хост-окружения реализована поддержка механизма Intel TDX (Trusted Domain Extensions), позволяющего при использовании гипервизора KVM создавать защищённые гостевые окружения, в которых используется шифрование памяти виртуальных машин.
    • В SELinux добавлен SID-идентификатор "init", позволяющий выделить запускаемые на начальном этапе загрузки процессы, запущенные до применения политик SELinux. Усовершенствован интерфейс /sys/fs/selinux для управления SELinux.
  • Сетевая подсистема
    • Проведена низкоуровневая реорганизация базовых сетевых структур данных, выполненная для повышения эффективности кэширования. Ранее поля в структурах сетевого стека socks, netdev, netns и mibs располагались по мере добавления, что ограничивало использование процессорного кэша. Пересмотр размещения переменных в структурах привёл к заметному увеличению скорости работы TCP, благодаря минимизации использование строк кэша на стадии передачи данных и оптимизации доступа к переменным. В случаях обработки множества параллельных TCP-соединений ускорение может достигать 40%.
    • Удалена подсистема bpfilter, использующая BPF для фильтрации пакетов. Bpfilter поставлялся начиная с выпуска 4.18, но так и не был доведён до уровня, пригодного для широкого использования. В последние годы код bpfilter в ядре не развивался, а разработка продолжалась компанией Facebook в отдельном репозитории.
  • Оборудование
    • В состав включён новый drm-драйвер (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Драйвер Xe позиционируется как основа для обеспечения работы новых чипов, не привязанная к коду для поддержки старых платформ. Драйвер построен с использованием новой архитектуры, в которой более активно используются уже существующие компоненты подсистемы DRM, а также типовые компоненты драйвера i915, не привязанные к конкретным GPU, например, код для взаимодействия с экранами, модель памяти и реализация execbuf. В Mesa работа OpenGL и Vulkan поверх драйвера Xe реализована на уровне изменений, внесённых в существующие Mesa-драйверы Iris и ANV.
    • В драйвере i915 продолжена работа по реализации поддержки чипов Intel LunarLake (Xe 2). Улучшена поддержка чипов Intel Meteor Lake.
    • В драйвере Nouveau реализована настройка для использования по умолчанию функций прошивки GSP для работы с GPU NVIDIA на базе микроархитектур Turing и Ampere, в которых операции инициализации и управления GPU выполняются отдельным микроконтроллером GSP (GPU System Processor). При включении настройки драйвер будет работать через обращение к прошивке, вместо прямого программирования операций взаимодействия с оборудованием.
    • В драйвере AMDGPU реализована поддержка ACPI WBRF и VPE DPM, изменена обработка скорости канала PCIe, в применяемых для синхронизации очередях задействованы 64-разрядные порядковые номера, добавлена поддержка специфичных для AMD механизмов управления цветом, решена проблема с переходом в спящий режим.
    • Добавлена начальная реализация драйвера для GPU Broadcom VideoCore 7.1, используемого в платах Raspberry Pi 5.
    • Добавлен драйвер для GPU серии PowerVR 6 на базе микроархитектуры Rogue от компании Imagination Technologies.
    • Добавлена поддержка контроллеров Thunderbolt/USB4, интегрированных в чипы на базе микроархитектуры Intel Lunar Lake.
    • Добавлены драйверы для камер, используемых в SoC Starfive, GalaxyCore GC2145/GC0308, Chips&Media Wave и THine THP7312.
    • Добавлена поддержка игровых контроллеров NSO (Nintendo Switch Online) - варианты старых контроллеров от SNES (Super Nintendo), Genesis и N64 (Nintendo 64), адаптированные для Nintendo Switch. Добавлен драйвер для геймпадов Adafruit Seesaw. В драйвер xpad добавлена поддержка контроллеров Lenovo Legion Go.
    • В драйвер dts добавлена поддержка игровых устройств Powkiddy RK2023, Powkiddy X55 и Anbernic RG351V.
    • Добавлена поддержка звуковых систем, используемых в чипах NXP i.MX8m MICFIL, Qualcomm SM8250, AMD ACP5x, Intel Arrow Lake, SM8550, SM8650 и X1E80100.
    • Компания AMD внесла изменения, связанные с поддержкой будущей серии процессоров на базе новой микроархитектуры Zen 5.
    • Добавлена поддержка ARM64 SoC: Qualcomm SM8650 (Snapdragon 8 Gen 3), Qualcomm X1E80100 (Snapdragon X Elite), Samsung Exynos Auto v920, Google GS101 (Tensor G1), MediaTek MT8188 и Unisoc UMS9620 (Tanggula 7).
    • Добавлена поддержка ARM-плат и устройств: Huashan Pi, Microsoft Lumia, HTC One Mini 2, Motorola MotoG 4G, Huawei Honor 5X/GR5, Anbernic RG351V, Powkiddy RK2023, Powkiddy X55, ComXpress на базе Marvell CN913x, Chromebook Lenovo, Asus и Acer на базе Mediatek MT8183, Toradex Verdin AM62, платы на базе Allwinner H616/H618.
    • Прекращена поддержка процессоров ARM11 ARMv6K SMP.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 6.8 - Linux-libre 6.8-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.8 обновлён код чистки блобов в различных драйверах и подсистемах. Проведена чистка драйверов Intel qat_420xx, Imagination PowerVR, Intel Xe, Chips&Media Wave5, Intel VSC, Aquantia PHY и Realtek rtw8922a. В связи с удалением из ядра прекращена чистка драйверов atmel, hermes, orinoco_usb, libertas_cs и zd1201. Проведена чистка имён блобов в dts-файлах (devicetree) для архитектур ARM и Aarch64. Устранены проблемы с чисткой драйвера i915.

OpenNET

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...