- PVSM.RU - https://www.pvsm.ru -
В начале августа Линус Торвальдс представил [1] новую версии ядра Linux. Согласно давней традиции сам релизы крупнейшего проекта с открытым исходным кодом происходит вполне буднично, создатель пишет электронное письмо [2] в рассылку коллегам по цеху с кратким резюме по новой стабильной версии кернела.
Особенностью ядра 5.8 стало рекордное количество изменений за все время существование проекта. Был лишь один более крупный релиз ядра Linux 4.9, но тот был искусственно раздут из-за новой подсистемы greybus в то время, как 5.8 действительно вобрал в себя больше изменений по самым разным направлениям. Посмотрим, что есть такого полезного и интересного в Linux 5.8, а заодно и 5.8.1 главным образом для обычных пользователей и рабочих станций.
Патч размером 64 MiB содержит труд 1991 разработчиков, в т. ч. 304 новых. Усилиями сообщества добавлено 904 тыс. и удалено 553 тыс. строк кода. Если смотреть в разрезе компаний, то среди самых активных есть знакомые имена.
Львиную долю кодовой базы ядра Linux занимают драйвера, поэтому совсем не удивительно, что им посвящена значительная часть изменений и обновлений релиза.
Благодаря обновлению открытых драйверов MSM (Freedreno), добавлена поддержка графических процессоров Qualcomm Adreno 405, 640 и 650. Эти мобильные GPU можно увидеть на некоторых из последних SoC (system on a chip), таких, как Snapdragon 855+ и Snapdragon 865. Эти чипы можно встретить в смартфонах Samsung Galaxy S10 / S20, OnePlus и многих других гаджетах.
В то же время в рамках открытых API OpenGL и Vulkan продолжают развиваться драйвера Adreno, соответственно с Freedreno Gallium3D и TURNIP. Новые изменения войдут в Mesa 20.2-devel.
AMD из кожи вон лезла, чтобы улучшить качество графических драйверов в Linux 5.8. Наряду с повышением производительности, реализована возможность использования шифрованных буферов видеопамяти (Trusted Memory Zone).
AMD Radeon Trusted Memory Zone предназначена для защиты избранных страниц от чтения со стороны центрального процессора, а также иных отличных от GPU клиентов и предотвращения записи на защищенные TMZ страницы.
Кроме того в драйвер добавлена поддержка пиксельного формата FP16 и завершена обширная работа по предоставлению однорангового совместного использования DMA буферов между устройствами (p2p DMA-BUF) без поддержки страниц системной памяти.
Ожидаемые обновления вызывающей противоречивые чувства Btrfs, FAT, exFAT и других.
OpenSUSE и SUSE Linux одни из немногих, использующих [3] Btrfs в качестве основной файловой системы. Не удивительно, что SUSE представила ряд патчей для этой ФС. В результате для Btrfs была улучшена обработка операций чтения в режиме I/O.
Заметным новым дополнением для Flash Friendly File System в новой версии ядра Linux является формат сжатия LZO-RLE. LZO Run-Length Encoding нацелена на те же степени сжатия, что и у стандартного алгоритма LZO, но с более высокой производительностью. Это стало возможным после того, как реализация LZO-RLE была внесена в ядро в прошлом году ARM.
Компания Samsung представила улучшения exFAT для ядра Linux 5.8, в новой версии драйвера есть ряд исправления и оптимизаций. В частности проведена очистка кода, улучшено журналирование и оптимизирована функция кеширования записей. Также инженеры компании добавили новую функциональность — проверку области загрузки для exFAT.
Определен новый параметр nodelete, с которым клиенту можно запускать штатные проверки на сервере, но запрещено удалять файлы и папки. Патчи SMB v3 содержат значительное улучшение производительности для больших операций ввода-вывода при использовании многоканальности, а также исправления DFS.
Опережающее чтение для записей FAT в предыдущее версии было очень простым, но имело некоторые недостатки, из-за чего в некоторых средах оно работало не эффективно.
Благодаря механизму обновления окна опережающего чтения до полного исчерпания и настраиваемому bdi->ra_pages удалось добиться значительного повышения производительности. На медленном 2TB USB-накопителе провели тест, результат — сокращение времени прохождение теста с 383 до 51 с.
DAX, или Direct Acces предназначен для прямого доступа к файловой системе в обход страничного кеша. Минуя кеширования страниц в режиме DAX означает отказ от дополнительной копии для чтения / записи на устройство хранения. В свою очередь это позволяет напрямую и более эффективно отображать устройство хранения в пользовательское пространство.
Данные усовершенствования DAX кода со стороны компании Intel позволяют активировать режим прямого доступа для каждого inode, а не просто включать, или выключать для всей файловой системы. Также с помощью системного вызова statx() можно из пользовательского пространства запрашивать состояние прямого доступа к конкретному файлу.
TCP/IP стек ядра Linux занимает особое место в общей картины ввиду существенной сложности архитектуры и огромным возможностям по использованию в самых разнообразных устройствах. Сетевая инфраструктура больше других обеспечивает доминирование Linux ОС на серверах и продолжает развиваться семимильными шагами.
Сюда вошли исправления связанные с интеловскими дырами безопасности типа Spectre, SELinux, блокировкой модулей ядра с битами исполнения и записи, генератором случайных чисел и пр.
Очевидно, что Intel в ближайшее время не перевыполнит план по устранению всех последствий уязвимости класса Spectre в своих чипсетах.
Речь идёт о нескольких срочных исправлений для ядра Linux по обработки спекулятивного выполнения x86 / x86_64 инструкций. Это случилось после того, как инженер безопасности из Google обнаружил [5] данную уязвимость, и тот факт, что одно из предыдущих исправлений, в качестве побочного эффекта затронула процессоры AMD.
Indirect Branch Prediction Barrier (IBPB) – защита от атак целевого буфера ветвлений для второго варианта Spectre, будет принудительно выключена в Linux. Условием являются сценарии, когда STIBP недоступен или доступны косвенные ограниченные спекуляции ветвлений (IBRS).
В Linux 5.8 было много изменений для архитектуры ARM.
Power 10 — это будущий процессор от компании IBM и фонда OpenPOWER, который, как ожидается, поступит в продажу в 2021 году и будет производиться по 7-нм техпроцессу. По предварительным данным новый чип предлагает значительные улучшения по сравнению с существующей микроархитектурой Power 9.
Помимо базовой поддержки загрузки для архитектуры Power 10, ядро Linux 5.8 также поддерживает набор инструкций с префиксом Power 10.
В соответствии с прогрессом подсистемы Linux ядра для Android к списку поддерживаемых устройств добавились:
Новый и долгожданный драйвер AMD Energy для мониторинга датчиков энергии на процессорах Zen/Zen 2. Это позволяет получать отчеты об энергопотреблении по каждому сокету/ядру на процессорах AMD Zen/Zen2.
Всего лишь 28 строк кода в этом патче [6] обеспечили поддержку Thunderbolt/USB4 для чипов Tiger Lake, в значительной степени благодаря повторному использованию наработок для Ice Lake.
Интерфейс Thunderbolt также может работать на архитектуре ARM, используя карту расширения Thunderbolt PCIe. На данный момент ARM SoC устройства пока что отсутствуют.
Минорный релиз Linux 5.8.1 представляет собой [7] небольшое обновление, которое изменяет в общей сложности 40 файлов с 548 вставками и 186 удалениями. Он в основном содержит исправления ошибок для различных драйверов:
Всегда по выходу новой стабильной версии Linux ядра с множеством полезных обновлений, может возникнуть зуд незамедлительно скачать архив с kernel.org [8], подкрутить настройки из menuconfig, или xconfig, скомпилировать и загрузиться с новоиспеченного образа. Все же не стоит торопиться и вот почему.
Мейнтейнер стабильной ветки Грег Кроа-Хартман составил небольшой рейтинг стабильных веток. Вот как он выглядит.
На первом месте по критерию целесообразности находится Linux ядро, скомпонованное специально для вашего дистрибутива. Оно содержит все необходимые патчи и специальные настройки. Кроме того разработчики дистрибутива проделывают массу работы по обратному переносу ошибок, а иногда и новых функции в код ядра, и все это в донкихотском стремлении не изменять мажорный номер версии, несмотря на наличие многих тысяч изменений.
Учитывая эти соображения, имеет смысл дождаться пока новое ядро станет доступно для вашего дистрибутива. Для Debian Linux и RHEL, а также Android устройств возможно пройдут года прежде, чем новое ядро будет в боевой эксплуатации. Однако есть масса дистрибутивов для рабочих станций и обычных пользователей, для которых новое ядро становится доступным в течение нескольких недель.
Из новых дистрибутивов Ubuntu Linux 20.10 [9] (Groovy Gorilla) выйдет с ядром Linux 5.8 в октябре 2020 г.
Автор: oldadmin
Источник [15]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/356292
Ссылки в тексте:
[1] представил: https://lkml.org/lkml/2020/8/2/293
[2] пишет электронное письмо: https://habr.com/en/post/314084/
[3] использующих: https://bit.ly/2E5xrPq
[4] Реализована: https://git.kernel.org/linus/d29245692a44d71d5e2e0770463184a693696232
[5] обнаружил: https://lkml.org/lkml/2020/6/9/183
[6] в этом патче: https://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt.git/commit/?h=next&id=57d8df68eb53cc15e5bdfc14bfb28a18543109eb
[7] представляет собой: https://lwn.net/Articles/828518/
[8] kernel.org: https://www.kernel.org/
[9] Ubuntu Linux 20.10: https://bit.ly/2YgS2rd
[10] Linux Kernel 5.8 «The Biggest Release of All Time» is Finally Available Now: https://itsfoss.com/kernel-5-8-release/
[11] Kernelnewbies, Linux 5.8: https://kernelnewbies.org/Linux_5.8#Networking
[12] Linux 5.8 Kernel Features Include New Intel/AMD Capabilities, Security Improvements, Optimizations: https://www.phoronix.com/scan.php?page=article&item=linux-58-features&num=1
[13] Релиз ядра Linux 5.8: https://www.opennet.ru/opennews/art.shtml?num=53479
[14] What Stable Kernel Should I Use?: http://kroah.com/log/blog/2018/08/24/what-stable-kernel-should-i-use/
[15] Источник: https://habr.com/ru/post/516348/?utm_source=habrahabr&utm_medium=rss&utm_campaign=516348
Нажмите здесь для печати.