2 августа 2020 года Линус Торвальдс представил первый стабильный релиз ядра Linux 5.8. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии Linux 5.7 в конце мая.
Исходный код Linux 5.8 уже доступен для загрузки на портале kernel.org. Ссылки на коммит Линуса Торвальдса релиза ядра Linux 5.8 на GitHub и на Makefile.
Новая версия ядра Linux содержит огромное количество изменений и обновлений, включая даже замену части терминов в коде Linux на нейтральные названия.
На текущий момент ядро Linux 5.8 стало рекордсменом по внесенным изменениям, как по числу коммитов, так и по числу добавленных строк кода, которые относятся к различным подсистемам. В новом ядре принято 17 606 исправлений от 2 081 разработчика. Размер патча составлает 65 мегабайт. Фактически изменения в ядре затронули 16 180 файлов, было добавлено 1 043 240 строк кода (более миллиона) и удалено 489 854 строк кода.
Причем больше всего изменений в ядре Linux 5.8 получили разделы с драйверами и оборудованием, куда была даже добавлена поддержка российского процессора Baikal-T1 и основанной на нем системы на кристалле BE-T1000.
В число основных изменений и обновлений входят:
- в состав ядра включен отладочный инструмент KCSAN (Kernel Concurrency Sanitizer), предназначенный для динамического выявления состояний гонки внутри ядра;
- добавлен универсальный механизм доставки уведомлений из ядра в пространство пользователя;
- в интерфейс асинхронного ввода/вывода io_uring добавлена поддержка системного вызова tee();
- в механизм pstore, позволяющий сохранить отладочную информацию о причине краха в области памяти, не теряемые между перезагрузками, добавлен бэкенд для сохранения информации на блочные устройства;
- для архитектуры RISC-V реализована поддержка отладки компонентов ядра при помощи KGDB;
- в файловой системе F2FS появилась поддержка сжатия с использованием алгоритма LZO-RLE;
- в dm-crypt добавлена поддержка шифрованных ключей;
- в EXFAT добавлена поддержка верификации загрузочной области;
- в FAT улучшена упреждающая загрузка элементов ФС. Тестирование медленного 2ТБ USB-накопителя показало сокращение времени прохождения теста с 383 до 51 секунд;
- в ядро и утилиту ethtool добавлена поддержка функций тестирования присоединённого сетевого кабеля и самодиагностики сетевых устройств;
- в IPv6-стек добавлена поддержка алгоритма MPLS (Multiprotocol Label Switching) для маршрутизации пакетов с использованием многопротокольной коммутации по меткам;
- добавлена поддержка передачи пакетов IKE (Internet Key Exchange) и IPSec поверх TCP (RFC 8229) для обхода возможных блокировок UDP;
- добавлена поддержка датчиков энергопотребления процессоров AMD Zen и Zen2, а также датчиков температуры AMD Ryzen 4000 Renoir. Для AMD Zen и Zen2 обеспечена поддержка извлечения информации об энергопотреблении через интерфейс RAPL (Running Average Power Limit);
- в драйвер MSM (Qualcomm) добавлена поддержка GPU Adreno A405, A640 и A650;
- добавлена поддержка смартфонов Xiaomi Redmi Note 7 и Samsung Galaxy S2, а также ноутбуков Elm/Hana Chromebook;
- добавлена поддержка ARM-плат и платформ Renesas «RZ/G1H», Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinuXino-LIME-eMMC, Check Point L-50,, Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI;
- обавлена поддержка MIPS-процессора Loongson-2K (сокращённый Loongson64). Для CPU Loongson 3 добавлена поддержка виртуализации с использованием гипервизора KVM.
См. также: