Ядро Linux 5.12: что нового?
25 апреля Линус Торвальд показал результат двухмесячной разработки — ядро Linux 5.12. Создатель сам говорит, что этот релиз без глобальных изменений, а вот в 5.13 стоит ждать серьёзные нововведения.
Патч весит 38 Мб, а большая часть изменений пришлась на драйверы (43%). 17% — это обновления кода аппаратных архитектур, 12% — сетевой стек, 5% — файловые системы, а 4% — подсистемы самого ядра.
Что нового добавили разработчики?
- реализовали поддержку зонированных блочных устройств в Btrfs;
- добавили возможность маппинга идентификаторов файловых систем;
- очистили список устаревших ARM-архитектур;
- реализовали режим «нетерпеливой» записи в NFS;
- добавили механизм LOOKUP_CACHED — он определяет файловые пути из кэша;
- добавили поддержку атомарных инструкций в BPF;
- добавили отладочную систему KFENCE для выявления ошибок при работе с памятью;
- реализовали режим NAPI — пуллинг в сетевом стеке теперь работает в отдельном потоке ядра процессора;
- добавили гипервизор ACRN;
- реализовали возможность изменения preempt-модели в планировщике задач «на горячую»;
- добавили поддержка LTO-оптимизаций при сборке в Clang.
Самые заметные — новшества в работе с внешними хранилищами файлов других систем разметки и маппинга.
В этой версии ядра можно сопоставлять файлы в чужом разделе, примонтированном в текущий раздел системы.
Новая система маппинга работает с файловыми системами XFS, ext4 и FAT. Разработчики считают, что так проще будет совместно использовать файлы пользователей в разных операционных системах и на разном железе.
Ещё они рассматривают вариант доступа к файлу из внешнего хоста без изменения данных в файловой системе его владельца. На фоне массовой удалёнки это очень актуально.
Важное нововведение — подсистема Dynamic Thermal Power Management. DTMP позволяет регулировать энергопотребление на основе температурных ограничений.
Из ядра удалили драйверы и информацию о неактуальных ARM-платформах. Зато в него добавили поддержку PineTab, Snapdragon 888 / SM8350, Snapdragon MTP ,Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
В драйвере amdgpu теперь работает система разгона OverDrive для карт на базе GPU Sienna Cichlid: Navi 22, Radeon RX 6xxx. Ещё добавили поддержку пиксельного формата FP16 для DCE (display controller engine) 8-11 поколений. Для GPU Navy Flounder (Navi 21) и APU Van Gogh реализовали возможность сброса GPU.
В драйвере nouveau добавили начальную поддержку GPU NVIDIA на архитектуре GA100 — это семейство ускорителей Ampere, которые ориентированы на массивные научные расчеты. На той же архитектуре реализовали видеокарты серии 3000 — RTX 3060 и до RTX 3090, и хотя A100 — это совершенно иное оборудование, вполне возможно, новый драйвер позволит корректнее работать новым видеокартам NVIDIA на ядре 5.12.
А ещё ядро Linux 5.12 теперь поддерживает консоли Nintendo 64 1996-2003 годов выпуска и геймпад от PS 5 DualSense. Полный список изменений вот по этой ссылке.
Узнать дополнительную информацию про учебные материалы в IT EDUCATION CENTER.