LINUX.ORG.RU

Linux 6.1

 , ,

Linux 6.1

3

5

Линус Торвальдс после двух месяцев разработки выпустил стабильную версию ядра Linux версии 6.1.

В новой мажорной версии ядра с кодовым названием «Hurr durr I’ma ninja sloth» представлена экспериментальная (но пока очень базовая и неприменимая в реальных случаях использования) поддержка языка программирования Rust для разработки модулей и драйверов.

Следующим очень важным изменением является замена «старой» реализации LRU на MGLRU (Multi-Generational LRU) — альтернативную реализацию LRU, которая оптимизирует возврат страниц и повышает производительность при нехватке памяти.

AMD IOMMU v2 теперь работает как часть виртуализации IOMMU с аппаратной поддержкой AMD vIOMMU (EPYC 7002 «Rome» и новее)

Также в эту версию ядра добавили AMD Platform Management Framework (PMF), который представляет централизованную структуру, позволяющую на основе информации с датчиков и различных метрик динамически управлять производительностью, питанием и температурными параметрами системы.

Исправлены ошибки в драйвере amd-pstate, поправлена некорректная работа s2idle на мобильной платформе AMD Rembrandt.

Продолжается добавление поддержки для видеокарт Intel Meteor Lake, Intel Arc, AMD RDNA3, а также исправления для AMD RDNA2.

В области файловых систем проведена значительная оптимизация производительности Btrfs. Кроме этого, Ted Ts’o исправил некоторые ошибки и немного оптимизировал производительность в EXT4.

Добавлен Kernel Memory Sanitizer (KMSAN) для диагностики проблем с памятью.

Производится подготовка сетевой подсистемы ядра к грядущим стандартам WiFi 7 и 802.11be.

Окончательно удалена поддержка a.out.

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

Ура, MGLRU! Наконец-то линукс не зависает при недостатке памяти.
Пожалуй, самое значительное изменение в ядре за последние 5 лет. Примерно 2 года Yu Zhao потратил на его разработку. Ускорило всё: и серверы, и телефоны, и десктопы. И с малым количеством RAM, и с огромным. Уже применяется в Android, на Pixel 6.

См. статью о похожем на MGLRU патче (le9 от @hakavlad), годовой давности, который позволил использовать Firefox с 37 вкладками на старом компьютере с 2 ГБ оперативной памяти: https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/
И видео от Google: https://youtu.be/PW7XA237dgI?t=10779

ValdikSS ★★★★★
()
Последнее исправление: ValdikSS (всего исправлений: 2)

экспериментальная (но пока очень базовая и неприменимая в реальных случаях использования) поддержка языка программирования Rust

Hurr durr

Линус явно пытается что-то до нас донести…

hobbit ★★★★★
()

Раст в ядре, ура. Лет через 40, может, сишных дыреней в ядре не останется.

Мои соболезнования гентушникам, кхахахахаха

alex1101
()

Уже собрал на домашнем компе, правда без этого:

AMD Platform Management Framework (PMF), который представляет централизованную структуру, позволяющую на основе информации с датчиков и различных метрик динамически управлять производительностью, питанием и температурными параметрами системы

Кто может сказать про эту хрень, стоит того? Или сделает только хуже? И как это соотносится, например, с governor, который у меня стоит в performance?

otto ★★★
()

Исправлены ошибки в драйвере amd-pstate, поправлена некорректная работа s2idle на мобильной платформе AMD Rembrandt.

Ждём-с.

einhander ★★★★★
()

Окончательно удалена поддержка a.out.

Что это? По оригинальной ссылке этого нет

PPP328 ★★★★★
()

AMD P-State EPP Won’t Be Ready Until Linux 6.3

One ★★★★★
()

Какая там следующая LTS версия? Лучше бы писали про это. Сейчас, фактически, просто стабильные версии ядра мало используются.

pandrey ★★
()
Ответ на: комментарий от alex1101

Раст в ядре, ура.

Но успокаиваться рано.

Дайте малышам писать ядро на PHP, мерзкие старые ретрограды!

ST
()
Ответ на: комментарий от ValdikSS

режим занудо-троль активейтед

А что там, бэкдоров много завезли, или как?

режим занудо-троль деактевейтед

UriZzz
()
Последнее исправление: UriZzz (всего исправлений: 2)

поддержка языка программирования Rust для разработки модулей и драйверов

Если человек, именующий себя kernel developer'ом, не смог осилить C - ему нужно идти в пастухи, а не разработчики.

Meyer ★★★★★
()
Ответ на: комментарий от ValdikSS

Наконец-то линукс не зависает при недостатке памяти.

да ну не может быть!

Shushundr ★★★★
()
Ответ на: комментарий от alex1101

Мои соболезнования гентушникам, кхахахахаха

кстати, почему вся гентушная инфраструктура недоступна?

UPD: нет, не поэтому

Update(2022-12-14 03:36): The sponsor has resolved the outage and is conducting a root cause assessment. It is our understanding the problem may recur but is not ongoing at this time. We will keep an eye on conditions and provide an update in 72h.

A sponsor is currently having a network incident, and bugzilla, wiki, and forums are offline. We have no ETA available, but we are in contact with the sponsor and we will update when we know more information.

Shushundr ★★★★
()
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Meyer

Если человек, именующий себя kernel developer’ом, не смог осилить Rust - ему нужно идти в пастухи, а не разработчики.

Починил.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Meyer

Если человек, именующий себя kernel developer’ом, не смог осилить C - ему нужно идти в пастухи, а не разработчики.

Подавляющее большинство Rust-разработчиков имеют громадный опыт разработки на C и выбирают Rust осознанно. К примеру, из последнего:

Для адекватного разработчика вопрос выбора C или Rust всего-лишь вопрос применимости и эффективности инструмента, фанатизм оставьте пользователям ЛОР и OpenNET. Так что если Rust позволяет более быстро, безопасно и с аналогичной производительностью писать код для Linux – разработчики будут выбирать его.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)

Окончательно удалена поддержка a.out.

wtf? Что это было за «ненужно» и почему т.Саахрикту ещё не выступил против его удаления?

cocucka ★★★★☆
()

поддержка языка программирования Rust для разработки модулей и драйверов.

Чё поцоны, кто делал make defconfig && time make на 6.0 и 6.1?

cocucka ★★★★☆
()
Ответ на: комментарий от EXL

Для адекватного разработчика вопрос выбора C или Rust всего-лишь вопрос применимости и эффективности инструмента, фанатизм оставьте пользователям ЛОР и OpenNET.

Причём, я бы на паре Си–Раст не зацикливался: у нас в физике в последнее время идёт постоянная ругань на плюсы и агитация за питон, в основном от постдоков и молодых профессоров. В итоге целые проекты оказываются сляпаны на ВТОРОМ питоне, потому что он по умолчанию был в Scientific Linux 6 и никто не хотел заморачиваться устанавливать и настраивать третий — такой код даже F77 не переживёт.

Зацикленность на одном языке программирования в итоге вредит студентам, которым прилетает задачка поддерживать неподдерживаемое, большая часть разворачивается и бежит от такого куда подальше.

Так что если Rust позволяет более быстро, безопасно и с аналогичной производительностью писать код для Linux – разработчики будут выбирать его.

Пока проблема в том, что runtime гарантии Rust нельзя реализовать в ядре. А если аппаратно их реализовать, то особой разницы между Си и Rust в этом плане не будет — в Си тоже можно запилить проверку выхода за границы через сегментную модель, для этого их и вкручивали в i286, просто мало вкрутили и работало медленно.

luke ★★★★★
()
Ответ на: комментарий от EXL

Так что если Rust позволяет более быстро, безопасно и с аналогичной производительностью писать код для Linux – разработчики будут выбирать его.

При наличии у этих разработчиков достаточного терпения и/или хорошего «железа».

dataman ★★★★★
()
Ответ на: комментарий от ox55ff

Окей, тогда нужен дополнительный шаг по его включению. Всё равно вангую резкий скачок времени сборки ядра.

cocucka ★★★★☆
()
Ответ на: комментарий от Meyer

 Если человек, именующий себя kernel developer’ом, не смог осилить C - ему нужно идти в пастухи, а не разработчики.

Надо же какой смешной человек. Rust в ядро подтянули те самые Си разработчики, которые знают и понимают недостатки базового языка, расширяя себе инструментарий. Это с технической точки зрения.

А с социальной — новый язык привлечёт новых разработчиков, которые могут загореться желанием вкладываться в этот общественный чудовищно сложный проект.

rmu ★★
()

Блин, а давно тут смайлики прикрутили?

Ну всё ЛОР скатился.

keeper_b ★★★★
()
Ответ на: комментарий от ValdikSS

Осталась проблема: кнопка swappiness с MGLRU не работает ожидаемым образом.

Смотри https://www.youtube.com/watch?v=J81kwJeuW58

При чтении mmap’ленных файлов уменьшение своппинес не влияет на агрессивность своппинга: своппинг очень агрессивен даже при swappiness=1.

Это приводит к проблемам если подкачка на медленном устройстве, при этом решением является только отключение MGLRU. Получал в этом кейсе жесткий фриз просто при чтении файла. Выключение MGLRU решало проблему (если своп лежал на USB флешке).

Считаю это важной проблемой, но нет сил на подробный репортинг этого.

hakavlad ★★★
()
Ответ на: комментарий от hakavlad

@ValdikSS и min_ttl_ms не помогает при появлении вышеобозначенной проблемы (фриз с меденным свопом) (в остальном min_ttl_ms работает хорошо, достаточно даже min_ttl_ms=50 для решения проблемы в опыте Ташкинова).

hakavlad ★★★
()
Ответ на: комментарий от EXL

Так что если Rust позволяет более быстро, безопасно и с аналогичной производительностью писать код для Linux – разработчики будут выбирать его.

А вот это далеко не так. Для разработки наколенных тяпляпов и эксперементальных разработок - так. Для того, что имеет жизненный цикл хотя бы в несколько лет - пока нет.

x86_64 ★★★
()

поддержка языка программирования Rust для разработки модулей и драйверов.

А Жабу когда завезут?

QsUPt7S ★★
()
Ответ на: комментарий от ValdikSS

Наконец-то линукс не зависает при недостатке памяти.

Кстати да, меня всегда бесило, что всё пишется и проверяется на мощных машинах и о проблемах деревень они не знают или игнорируют...

xwicked ★★☆
()
Ответ на: комментарий от cocucka

time make

Мне жаль неттоп с SSD насиловать. Когда-то собирал в минимальной ручной конфигурации 2.4 - занимало от 5 до 15 минут. Вроде бы, 5 минут - это была пересборка при небольших модификациях конфига. В то время у меня был AMD K6-2.

i_am_not_ai
()

Ещё же и maple tree стали использовать. Стало интересно, что же это за клён такой, вдруг пригодится. :)

Нашёл ближайший аналог на C++ (GPL-3.0 ).

dataman ★★★★★
()
Ответ на: комментарий от keeper_b

Откуда вы берётесь? Как можно было проморгать.

ox55ff ★★★★★
()
Ответ на: комментарий от hakavlad

Напишите Yu Zhao на емейл, он мне (какому-то лоху из подворотни) вполне отвечает.

ValdikSS ★★★★★
()
Ответ на: комментарий от alex1101

Ускорили функцию, которая используется при загрузке модуля. Несомненно, это является ключевым улучшением, поскольку большая часть пользователей постоянно вгружают и загружают модули ядра, по 1000 модулей в секунду.

no-dashi-v2 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.