company_banner

Грядущий релиз Linux 5.8: миллион строк нового кода и 14 000 изменений


    Обычно выпуск новой версии ядра Linux — будничная процедура, которая вызывает энтузиазм лишь у тех пользователей, кто ожидает появления определенной функции. Но сейчас, в преддверии релиза Linux 5.8, ситуация несколько иная. За последние несколько недель в сети появилась масса публикаций о новой версии ядра с описанием его возможностей.

    Новая версия, несмотря на то, что она еще не вышла, считается релизом с максимальным количеством изменений за всю историю Linux. В коде релиза появилось свыше 1 млн новых строк. Скорее всего, оценить новинку можно будет в ближайшие пару недель — Линус Торвальдс выпустит RC1, если не произойдет ничего экстраординарного.

    А пока обсудим список изменений.

    Так, новое ядро оптимизировано под работу с новейшими процессорами от Intel и AMD, рядом других чипов и модулей, архитектурой ARM. Добавлены сетевые компоненты, появились новые open source драйверы графики AMD Radeon. Кстати, стабильная версия этой ветки ожидается примерно к концу лета — началу осени. Именно тогда должны появиться Ubuntu 20.10 и Fedora 33 с поддержкой нового ядра.

    В новом ядре есть возможность конфигурировать флеш-массивы на базе MLC в качестве SLC. Развитие получил драйвер Microsoft exFAT, оптимизированы SMB3, EXT4 и Btrfs. Также добавлена поддержка DAX для прямого доступа к энергонезависимой памяти.


    Источник

    Кроме того, команда Linux добавила следующие нововведения:

    • Поддержка шифрования с использованием Trusted Memory Zones на GPU AMD;
    • Поддержка буферов обмена P2P/DMA между графическими ускорителями (в частности, для свежих AMD);
    • Обновления драйверов AMD, NVIDIA и Intel (включая начальную поддержку Gen12), а также Habana Gaudi;
    • Драйвер AMD Energy наконец-то откроет для доступа сенсоры Zen/Zen 2;
    • Появится поддержка «живой миграции» с KVM для процессоров AMD;
    • Драйвер CPUFreq получит поддержку boost;
    • Появится поддержка PCIe NTB для Intel Ice Lake Xeon;
    • Реализована начальная поддержка архитектуры POWER10;
    • Уже ставшие традиционными патчи против side-channel уязвимостей для основных архитектур и их оптимизации.

    Хорошая новость для сетевых администраторов, инженеров и всех, кто связан с разворачиванием аппаратной инфраструктуры! В новой ветке реализована поддержка тестирования Ethernet-кабелей на программном уровне. Но, чтобы эта возможность работала, нужна и аппаратная поддержка, так что чисто программного ничего нового «не вырастет».

    Известно, что примерно 40% изменений в новом ядре связано с драйверами, 16% — с обновлением кода для различных процессорных архитектур, 10% изменений связаны с сетевым стеком, 3% — с файловыми системами.

    Общее количество новшеств превысило 14 000, и они затронули примерно 20% файлов в репозитории. Размер патча 5.8-rc1 — 61 МБ.

    А вы ждете новый релиз Linux? Пишите, что думаете об изменениях, в комментариях!
    Selectel
    ИТ-инфраструктура для бизнеса

    Комментарии 60

      +11
      Размер патча 5.8-rc1 — 61 МБ.


      Так и хочется сказать «берите пример, как надо писать софт». А то нынче обновляется какое-нибудь приложение «Instagram for Android»/Whatsapp из трех экранов и оно 200+ мегабайт занимает. А тут — серьезные обновление ядра системы, «крупнейшие за всю историю» — 60 мегабайт.
        +11
        бэк пракически всегда весит меньше Фронта. Там картиночки, сердечки, и прочая лабудень
          +3
          На фронте код увеличивается за счет полифилов и транспиляции для поддержкой старых браузеров
            0

            Картиночки и сердечки измеряются в байтах, если писать нормально

              +2
              А не соблаговолит ли благородный дон показать нам картиночку, которую не стыдно поставить в интерфейс, но которая бы измерялась в байтах?
                +2
                Гугл вроде не далеко…
                codepen.io/robeen/pen/PbvJjy если речь о «сердечках»
                www.vecteezy.com/vector-art/225089-awesome-explosion-vectors (около 10кб до gzip) — взрыв делает всё лучше
                codepen.io/ste-vg/pen/Gqakbo — если ближе к интерфейсам
                И всё это на 4К и даже на 16К экранах хуже не станет смотреться

                На всякий случай приложу ещё и игру: ru.wikipedia.org/wiki/.kkrieger (в статье есть видео)
                  0
                  У векторной графики тоже есть свои ограничения (по детализации), и далеко не во всех проектах ей можно обойтись.

                  Плюс технические моменты, в нативных фреймворках вроде как до сих пор нет поддержки векторной графики, в Qt есть, но только самой простой, без теней и прозрачности.
                    +1
                    Растр тоже поддаётся оптимизации, куча статей на эту тему на хабре. Из тех что помню:
                    habr.com/ru/company/playrix/blog/306554
                    habr.com/ru/company/playrix/blog/342202
                      0
                      Оптимизация сегодня хромает, по организационным причинам, тут спору нет.
                      0
                      Вообще-то вектор можно программно растеризовать, если нативный фреймворк не поддерживает вектор. А то опа! — фреймворк не поддерживает вектор — поэтому мы будем пихать иконки под 99% разрешений (и все равно найдется 1% разрешений, в которых это не будет работать). «Как тебе такое, Илон Маск?» (с)
                    0
                    А не соблаговолит ли благородный дон показать нам картиночку, которую не стыдно поставить в интерфейс, но которая бы измерялась в байтах?

                    Собственно поскольку все платформы перешли на простейшие монохромные схематичные иконки, то Font Awesome
                      0
                      в миллионах байтов — легко
                  +1
                  Скорее всего речь идёт о размере измененного текста исходников.
                    +2
                    Вы сравниваете размер всего приложения (в Play Market, если память не изменяет, нет патчей, когда вы обновляете приложение, то скачивается свежая версия приложения полностью) с размером патча (изменениями, накладываемыми на предыдущую версию ядра, они без этой самой предыдущей версии бесполезны). Корректно было бы сравнить с размером всего ядра.

                    Так вот, размер тарболла с ядром 5.8-rc1 — 172 МБ.
                      0

                      Тарболл с исходниками?
                      У меня скомпилированное ядро поменьше:


                       I  ~ > ls -lh /boot/vmlinuz-linux
                      -rw-r--r-- 1 root root 7,2M июн 11 22:48 /boot/vmlinuz-linux
                       I  ~ > du -sh /lib/modules/5.7.2-arch1-1/kernel/
                      74M /lib/modules/5.7.2-arch1-1/kernel/
                      +8
                      Даже если так, это же не сильно меняет дело так-то?

                      Или вы считаете нормальным, что три экрана с сердечками занимают столько же, сколько целиком ядро операционки? Почему ОС выполняет функций на пару порядков больше, чем современные приложения с двумя кнопками, а занимают последние объема не меньше? Да, понятно, что там картинки этих самых сердечек, но все-таки польза несравнима.

                      Ну да ладно, не обращайте внимание на мое бурчание, это я так, выпадаю в осадок от современного мира регулярно.

                      P.S. Ну и да, отсутствие возможности скачать только патч, а не перекачивать целиком, это тоже такое себе, но оффтоп.
                        +6
                        Графика занимает больше, чем текст (исходники это преимущественно текст), это нормально. Да ешё в разных разрешениях.
                          +13
                          Почему бы всем тем разработчикам, которые занимаются переименованием *цензура* не заняться возможностью разделить графику и логику? Не заняться возможностью качать патчи, а не перекачивать все целиком? Да не реализовать закачку графики уже после установки в конце концов, чтобы сразу качать в нужном разрешении минимальный объем, а не набивать в одну APK все возможные типы сердечек?
                          Как будто в мире Software Engineering нет каких-то объективных областей, где можно приложить усилия и сделать мир лучше. Но нет, senior инженеры будут заниматься цензурой и сердечками. Почему у меня на телефоне единственное пользовательское (в смысле, которое можно скачать и установить, а не встроенные штуки) приложение, занимающее меньше мегабайта — это, как ни парадоксально, DiskUsage, которым я пользуюсь примерно каждый раз, когда мне надо установить очередное «важное обновление» для инстаграмчика. И оно работает, черт возьми, выполняет ровно ту функцию, которую должно, и весит 791 кбайт. Честно, когда я в первый раз установил, я был в шоке — «они существуют! Андроид приложения меньше мегабайта!». Почему же это единичные исключения, а в целом мир мобильной и веб-разработки сошел с ума и на полной скорости несется в пропастьнепонятно куда? На десктопе еще хоть как-то можно жить, спасибо обратной совместимости и до сих пор работающему софту из, условно, нулевых, а также достаточно простой возможности написать что-то под себя, если приспичит. Но вот в вебе и мобилках все хуже. И вдвойне хуже от закрытых API (того же инстаграма), что даже нет возможности написать свой клиент.
                          Хотелось сказать, что хоть разработчики ядра молодцы и не поддаются хайпу, но вовремя вспомнил — и тут SJW добрались.
                            0
                            Ну так эта возможность давно уже есть. По крайней мере, в Android. Вот только не пользуются ей. И патчи компактные, и ресурсы поделенные на пакеты по dpi устройств.
                              +2
                              Потому что время разработчика стоит дороже сториджа.
                              А если вдруг эти две суммы поменяются местами, то вы сами останетесь в минусе.
                                +2
                                Не уверен насчет минусов. А то, что современный софт последние лет 10 катится в пропасть — вполне уверен. Десктопный хром, жрущий сотни мегабайт *на вкладку* (сравним с Оперой из нулевых, держащей десятки вкладок при в разы меньшем объеме потребляемой памятью), андроид-приложение Facebook, занимающее 300 Мб (и отдельное Facebook Messenger на 100+ Мб), и таких примеров сотни.
                                Сторадж дешевый — ну, конечно, за последние 10 лет и SSD появились и подешевели, и объемы HDD выросли заметно… Но вот оперативка чуть ли не подорожала за это время, и существенного роста не было. В прошлом году я с 16 на 48 Гб обновился, потому что 16 в упор не хватало на ПК, Лайтрум открываешь фотки обработать — туши свет. Пока 48 вроде хватает. А еще мы же про телефоны говорим — так вот на телефонах объем дисковой памяти четко коррелирует с позиционированием модели — в дешевых телефонах найти что-то больше 16 Гб *дисковой* памяти (сорри, если неправильный термин, имею в виду обычную память для файлов, не оперативку) достаточно сложно. А еще и физический размер телефона также коррелирует, поэтому если вы хотите небольшой физически телефон — вы в пролете. И у меня уже четвертый телефон за последние 10 лет — и *в каждом* одна и та же проблема — не хватает места. При покупке нормально, через год использования и «важных обновлений» все свободное место телефона забивается в ноль. Выедается причем какой-то ерундой, кэшем инстаграма, кэшем вотсапа, кэшем каких-то приложений, которыми я раз в год пользуюсь. Вот и прихожу уже в очередной раз к тому, что чтобы поставить новое приложение, надо вычистить сначала место, в несколько раз превосходящее необходимое. Так что в реальном мире этот самый «сторадж» хоть и дешевый, по факту так не работает.
                                Сразу отвечая на вопрос «почему же вы не пользуетесь той старой оперой» — так потому что сайты катятся в ту же пропасть и используют тонны скриптов, которые не поддерживались тогда. Я бы рад, но не выйдет.
                                  0
                                  Не обновляйте телефоны. Мы с женой почти одновременно купили какие-то Сяоми. Я все обновления устанавливал, а жена отключила их. В итоге у меня через год еле живой кирпич был, а жена без обновлений 3 года со своим проходила. Я сейчас с самсунгом хожу — через полгода стал еле шевелится.
                                    0
                                    у меня redmi note 4x 4 ГБ ОЗУ. все доступные обновления стоят, и я никак не могу сказать, что он стал ощутимо задумчивым. использую браузер и стадартный софт типа калькуляторы, заметки и т.п.
                                    у жены redmi note 5 4 ГБ ОЗУ и тоже не жалуется.

                                    поэтому вряд ли в обновлениях дело.

                                    а вот старые планшеты типа prestigio с 1 ГБ ОЗУ уже невозможно использовать, это да.
                                      0
                                      Не обновляйте телефоны.

                                      Гениальный совет. Особенно учитывая, как сильно сейчас жизнь многих завязана на телефон (банки, госуслуги, больницы, школы, брокеры и т.д.). Оставлять телефон без патчей безопасности это надо быть очень базшабашным...

                                        +1
                                        Каждый сам решает, завязывать ли ему жизнь на что-то или нет.
                                      0
                                      А то, что современный софт последние лет 10 катится в пропасть — вполне уверен
                                      А когда скатимся, наконец, что произойдёт?
                                        0

                                        Когда скатимся — полетим. Но это не точно.

                                          0
                                          Меня интересует, что же будет в конце, когда уже прилетим.
                                            0
                                            Тогда прилетит дятел. Который разрушит цивилизацию. И шум его крыльев слышен всё отчётливее.
                                  +2
                                  Графика занимает больше, чем текст (исходники это преимущественно текст), это нормально. Да ешё в разных разрешениях.

                                  Там где графики и иконок очень много — претензий почти нет, но… Возьмём к примеру Signal — он занимает 84MB. WhatsApp, Telegram, Skype — этого же порядка. Там почти нет графики, разве что эмоджи (причём в Signal их практически нет), но это явно не тянет на такой объем.


                                  Или Amazon Shopping — там ничего нет внутри, он всё онлайн тянет (при плохой сети видно как картинки появляются) — 145MB. Или банковское приложение (Commerzbank) — аж 168MB, и это на десяток иконок и одно лого.


                                  Чёй-то я сомневаюсь что по сложности и количеству кода всё вышеперечисленное тянет хотя бы на четверть ядра — если, конечно, грамотно делать, к примеру GlassWire, намного более богатый по интерфейсу с графикой и посложнее чем банкинг (потому что банкинг это просто фронт с минимальными рюшками) занимает всего около 12MB — умеют ведь, если хотят.


                                  Но в последнее время разработчикам пофиг, ради одной зависимости в виде одной функции (которая реализуется за 15 минут) тянут целые фреймворки.

                                    +3

                                    Ну так наверное там та же байда творится, что и с десктопными приложениями: «Нативные фреймворки для GUI приложений — отстой, так что получите наш новый чатик, с половиной функциональности irc (50 Кб) на Electron. Минимальные требования: 3 ГГц процессор, 16 Гб RAM, 100 Мбит соединение с Интернет».


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

                                      –5
                                      Ну вот не надо про Electron и chromium, пожалуйста, VSCode прекрасно работает, а еще Chromium уже полетел в космос, а вы?
                                        +2
                                        А есть ещё десятки приложений на нём, которые прекрасно тормозят и жрут память. То, что он в космос полетел — не показатель надежности, это показатель смелости Маска, граничащей с авантюрностью. Надёжные интерфейсы сертифицируются примерно так: doc.qt.io/QtSafeRenderer/qtsr-overview.html
                                          –1
                                          А еще есть десятки приложений на QT, которые прекрасно тормозят и жрут память (а еще и забывают очищать ее). Правда их никто не видел, потому что за те 5 лет, что потребовались на их разработку и стоимость, складывающаяся из заоблачных (и вполне справедливых) зарплат программистов C++ никак не оправдала получившийся результат в виде обычного, ничем не примечательного интерфейса, который школьники у конкурентов сделали на HTML и CSS за неделю, добавив туда еще и анимации из CSS3 и котиков из кучи библиотек нахаляву.
                                            0
                                            Есть десятки приложений, которые очень тормозят, но которых никто не видел? Вы уж определитесь, чтобы без взаимоисключающих параграфов.

                                            Верстать на QML легче, чем на CSS, можно использовать сторонние JS библиотеки (для отрисовки графиков, например). С анимациями там всё прекрасно, что касается «ничем не примечательного интерфейса», то просто посмотрите на Battle.net launcher.

                                            С++98 в Qt не требует заоблачной квалификации, и если школьники могут что-то работающее написать за неделю на веб-технологиях, это наверняка можно написать на Qt максимум за две.
                                          –1

                                          Сравните скорость и потребление ресурсов (с учётом функциональности) VSCode с IntelliJ Idea или Visual Studio. Да, последние два конечно требуют кучу места, но и возможностей там на порядок больше (если не пробовали — сравните).


                                          А так да, когда количество кода плюс собственное потребление ресурсов приложения начинают сильно превышать аналогичные запросы самого фреймворка (если не страдает производительность, конечно) — нет проблем.


                                          Один из моих любимых примеров — это Balena Etcher (86MB в архиве), эдакий фронтенд для dd под Windows на базе электрона. И ведь что характерно — народ с него тащится, хотя в случае нативной реализации там кода в лучшем случае на несколько мегабайт (с учётом MFC/QT/etc), да и при работе с ним не удаётся избавиться от ощущения что работаешь в браузере.


                                          А хромиум в космосе… Его ценность (и доверие к нему) хорошо выражена вот этим (цитата из вашей ссылки):


                                          Да, мы используем тот же Chromium, который лежит в основе браузера Chrome, ещё есть собственные библиотеки. При этом важно понимать, что мы используем Chromium только как движок для отображения интерфейса на экранах. То, что мы выводим на мониторы, никак не влияет на сам полёт и отказоустойчивость системы.

                                          Если бы они на электроне писали систему управления… не думаю чтобы он хотя бы взлетел.

                                            0
                                            Скайп, Слак и Атом тоже полетели… только в помойку. Дискорд, в общем-то, тоже туда полетел, хотя, благодаря переписыванию всего и вся на C++, он не столь ужасен.
                                          0
                                          Там где графики и иконок очень много — претензий почти нет, но… Возьмём к примеру Signal — он занимает 84MB. WhatsApp, Telegram, Skype — этого же порядка.
                                          Вы посмотрите на приложения для смс, звонков и работы с контактами. Вот уже где отношение функционала к объему трешовей некуда)
                                          0

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

                                        0

                                        В Play Market есть патчи.

                                          0
                                          Круто, не знал. Ну т.е. это круто, что поддержка есть, но, кажется, ни одно из известных мне приложений ими не пользуется :(
                                            0

                                            Так Google сам считает diff между старой APK и новой и сам этот патч устанавливает без какого-либо участия разработчиков.

                                          0
                                          В Google Play программы умеют обновляться патчами.
                                          +3
                                          Ну так и квалификация Линуса со товарищи несравнимо выше, чем у разработчиков Instagram for Android.
                                            +3
                                            думаю еще стоит учесть что у них скорее всего нету «эффективных» менеджеров которым все нужно на вчера и ложили они на качество…
                                            0
                                            Если бы ядро системы писали так же как «Instagram for Android»/Whatsapp, то для запуска одного ядра в текст моде требовался бы компьютер уровня кор ай7, 8 гб памяти.
                                              0
                                              И к тому же они делают это бесплатно!
                                              +8
                                              Надеюсь, избавились в этом релизе от расистских слов в коде //сарказм
                                              +1
                                              Отключение тормозящих патчей на процессорные уязвимости Интел и Амд, по прежнему аналогичное?
                                                +1
                                                Да:
                                                GRUB_CMDLINE_LINUX_DEFAULT="mitigations=off"
                                                0
                                                Очень хорошие заделы для драйверов и особенно графики. Всякие SteamOs, ChromeOS и др. будут очень рады
                                                  0
                                                  А с моей точки зрения, ядру линукс очень не хватает выделения драйверов как-то отдельно от ядра. Ну хотя бы между драйверами каждой подсистемы и ядром сделать унифицированный интерфейс. Это позволит бОльшую часть изменений в драйверах поставлять отдельно от ядра, отдельно же и компилировать. И даже скомпилированные драйверы можно будет подключать сквозь несколько подверсий ядра (если у них версия интерфейса совпадает).
                                                    0

                                                    Вам бы почитать LKML — эта тема поднимается в нем столько же лет, сколько существует Linux. Есть причины, чтобы этого не делать.

                                                      0
                                                      Так и есть причины, чтобы это делать. Сколько себя помню — очень остро в линуксе стоит вопрос нехватки драйверов. И я понимаю, почему производителям оборудования не очень хочется в это лезть — из-за того, что тестировать придется под каждую версию ядра. В самом худшем варианте это приводит к поддержке десятка независимых версий драйвера для каждого ядра.
                                                      Унифицированный интерфейс бы позволил поддерживать одну или 2 версии. Как результат мы бы получили более полную поддержку устройств.

                                                      А какая главная причина этого не делать?
                                                        0
                                                        из-за того, что тестировать придется под каждую версию ядра

                                                        Всегда есть возможность протолкнуть в аппстрим, и поддержкой будет заниматься сообщество. Но кто сейчас так будет делать?
                                                          +1

                                                          Я уже давно не смотрю за разработкой ядра. Раньше причины назывались: производительность и отсутствие необходимости поддерживать стабильное API для внутреннего кода ядра, то есть возможность намного быстрее производить изменения в ядре.


                                                          Ну и с драйверами уже давно как-то не испытываю проблем. Почти под все они есть. Только драйверы nvidia как были г-ом, так и остались. В жизни больше не куплю карточку nvidia.

                                                        +2
                                                        Да и вообще бы все драйвра вынести из ядра.
                                                        а еще лучше сделать микроядро
                                                          0
                                                          gnu hurd

                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                      Самое читаемое