Материалы по тегу: ядро

15.06.2020 [22:28], Алексей Степин

Релиз Linux 5.8 станет одним из самых больших и важных за всю историю ядра

В последние несколько недель публикуется много новостей, относящихся к грядущему выпуску новой версии ядра Linux. Уже на сегодня версия Linux 5.8 признана релизом с самым большим количеством изменений за всю историю — в него входит уже 1 026 178 строк нового кода. 

Ожидается, что Линус Торвальдс, создатель Linux, выпустит RC1 в течение двух ближайших недель. В течение этого времени будет завершено объединение нового кода. Изменений действительно очень много, поэтому сложно ожидать стабильной (stable) версии ранее середины августа, но многое известно уже сейчас.

В частности, новое ядро получит оптимизации под новейшие процессоры Intel и AMD, равно как и ряд оптимизаций под архитектуру ARM, поддержку новых аппаратных компонентов, серьёзные изменения в коде сетевой части и новые открытые драйверы графики AMD Radeon. Скорее всего, осенью выйдут такие дистрибутивы с новым ядром ветки 5.8, как Ubuntu 20.10 и Fedora 33.

Среди всех нововведений особенно стоит отметить следующие дополнения:

  • Поддержка шифрования с использованием 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, мы уже рассказывали, как и о том, что флеш-массивы на базе MLC можно будет сконфигурировать в качестве SLC. Не забыто развитие драйвера Microsoft exFAT, улучшена работа SMB3, EXT4 и Btrfs, введена поддержка DAX для прямого доступа к энергонезависимой памяти.

Слой для поддержки блочных устройств получит поддержку шифрования

Слой для поддержки блочных устройств получит поддержку шифрования

Не останется без улучшений часть, касающаяся вопросов безопасности. Будет улучшен генератор RNG, появится поддержка ARM CryptoCell и AMD PSP SEV-ES. А вот функция сброса кеша L1 при переключении контекста отозвана самим Линусом Торвальдсом — он считает её «идиотской».

Около 37% всех изменений в Linux 5.8 связано с драйверами, 16% — к обновлению кода различных процессорных архитектур, 10% относится к сетевому стеку, 3% к файловым системам и 4% к прочим подсистемам ядра. Всего в новую ветку принято 14 206 наборов изменений, затрагивающих 20% всех файлов в репозитории, размер патча 5.8-rc1 составляет 61 Мбайт. Тесты производительности нового ядра в ближайшее время планирует опубликовать популярный ресурс Phoronix.

Постоянный URL: http://servernews.ru/1013459
13.06.2020 [00:08], Алексей Степин

MTD в Linux 5.8 позволит использовать MLC-память в режиме SLC

Большая часть массовых флеш-накопителей использует память типа TLC, дешёвую, но медленную. Реже встречается MLC, совсем редко — сверхнадёжная однобитовая SLC. Но в новом ядре Linux 5.8 подсистема MTD получит интереснейшую возможность эмулировать SLC NAND, пусть и только для «чистых» флеш-массивов.

Уникальная флеш-память Samsung 3D V-NAND SLC

Уникальная флеш-память Samsung 3D V-NAND SLC

Идея неиспользования «лишних» бит в ячейках флеш-памяти не нова, она позволяет добиться от априори менее надёжных типов NAND повышенной устойчивости и производительности, пусть и путём потери ёмкости. В подавляющем большинстве стандартных SSD-накопителей часть флеш-массива TLC/MLC работает в режиме SLC. Объём этой части может варьироваться, используется же она как быстрый кеш.

Типы и характеристики флеш-памяти NAND

Типы и характеристики флеш-памяти NAND

В ряде случае использольвание «чистых» флеш-массивов NAND, с которым система может работать программно и использовать по своему усмотрению, более чем оправдано, например, во встраиваемых и промышленных системах. Именно здесь тем, кому нужна повышенная надёжность хранения данных, может помочь ядро Linux 5.8.

В нём разработчики реализовали поддержку эмуляции SLC-памяти для MLC-массивов. За нововведение ответственна компания Bootlin. Разумеется, MLC-память остаётся двухячеечной, но в режиме эмуляции SLC программируется только «нижняя половина». Новый режим был добавлен в рамках внесения изменений в подсистему Linux MTD. Она также получила ряд улучшений, в частности, в части различных драйверов.

Постоянный URL: http://servernews.ru/1013187
10.06.2020 [21:11], Алексей Степин

Linux 5.8 получит инструментарий для тестирования сетевых кабелей

Проблемы с кабельной инфраструктурой в компьютерных сетях могут быть очень раздражающими — далеко не всегда место повреждения очевидно или найти его удаётся вовсе не сразу. В некоторых системных платах в BIOS/UEFI есть функции тестирования витой пары в сетевых кабелях. Подобная, но более широкая функциональность станет частью нового ядра Linux версии 5.8.

Интегрированное в некоторые BIOS/UEFI программное обеспечение, в частности, ASUS AI Net2 (иногда пункт называется LAN Cable Status) умеет отображать состояние каждой витой пары в кабеле. Это позволяет локализовать базовые проблемы физического уровня. Существуют и более продвинутые системы тестирования, которые умеют показывать не только наличие контакта и правильность разводки, но примерное расстояние до проблемного места. 

ASUS AI Net2

ASUS AI Net2. Короткое замыкание в 3 и 4 парах, показана примерная дистанция до дефектных мест

Однако в новой ветке ядра Linux 5.8 будет реализована поддержка тестирования кабелей на программном уровне. Список нововведений уже известен, однако пока эта функция будет поддерживаться лишь для некоторых 1GbE-контроллеров Marvell. Естественно, она сама по себе требует определённой поддержки со стороны сетевого чипа, поэтому вообще для всех адаптеров она волшебным образом не появится. Зато чипы, умеющие определять расстояние до места замыкания или разрыва со временем тоже будут поддерживаться.

Аппаратный тестер LAN-кабелей

Аппаратный тестер LAN-кабелей

Также новое ядро получит и другие нововведения, связанные с сетевой частью:

  • Поддержку протокола Media Redundancy Protocol (MRP), помогающую комплексу сетевых коммутаторов пережить сбой одного из них без потери связи;
  • Новый драйвер Intel IGC с поддержкой разгрузки при сегментации (generic segmentation offload);
  • Новый драйверы Realtek r8169 и Freescale, содержащие множество улучшений и исправлений;
  • Оптимизации планировщика;
  • Поддержку сетевых контроллеров Marvell/Aquantia A2, которые официально ещё не были представлены.
  • Повышение производительности SMB3, улучшение поддержки многоканальных подключений, исправления в работе DFS.

С полным списком улучшений и нововведений можно ознакомиться здесь. Сетевые подсистемы нового ядра получат 152 тысячи строк нового кода, но при этом 64 тысяч строк существующего кода будет удалено.

Постоянный URL: http://servernews.ru/1013119
05.06.2020 [22:54], Илья Коваль

Поддержка LTS-ядер Linux 4.19 и 5.4 продлена ещё на несколько лет

Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за сопровождение стабильной ветки ядра Linux, обновил предполагаемые даты окончания поддержки версий 4.19 и 5.4. Для версии 5.4, выпущенной в ноябре прошлого года, срок продлён до декабря 2025 года, а для версии 4.19 от октября 2018 года — до декабря 2024 года. Таким образом для обеих веток итоговый срок сопровождения составит 6 лет.

В отличие от обычных релизов, которые получают обновления только до выхода следующей версии ядра, ядра 4.19 и 5.4 теперь относятся к категории LTS (Long Term Support). На текущий момент LTS-релизов уже пять, включая версии 4.4, 4.9 и 4.14. Формально есть ещё релиз ядра 3.16, выпущенный в августе 2014 года, но его поддержка заканчивается уже в этом месяце. А на базе ядер 4.4 и 4.19 фондом Linux Foundation поддерживаются ветки SuperLTS, имеющие уже десятилетний срок сопровождения.

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

Кроме того, LTS-релизы являются основой для ядер Android, так что желание Google внести специфичные для этой ОС патчи в основную ветку ядра вполне понятно. Впрочем, некоторые крупные вендоры поддерживают собственные LTS-версии, отличные от предоставляемых разработчиками ядра Linux. Но, как и в случае упомянутой мобильной ОС, своевременный выход патчей даже для относительно редко обновляемых LTS-релизов остаётся целиком на совести производителя.

Постоянный URL: http://servernews.ru/1012766
02.06.2020 [22:24], Алексей Степин

Линус Торвальдс назвал идиотской опцию сброса L1-кеша при переключении контекста в Linux 5.8

Борьба с различными уязвимостями семейства Spectre уже приводила к неоднозначным результатам. Даже сам создатель Linux, Линус Торвальдс, с негодованием отметил, что падение производительности на 50% явно не стоит такой «защиты». Речь шла об исправлении STIBP (Single Thread Indirect Branch Predictors) для процессоров с SMT/HT. На этот раз он выступил против включения в ядро Linux 5.8 опции сброса кеша данных L1 при переключении контекста.

Окно внесения различных нововведений в новое ядро Linux 5.8 открывается: так, мы уже писали о том, что эта ветка получит поддержку процессорной архитектуры MIPS R5. Как оказалось, в рамках борьбы с уязвимостями класса Spectre, а также другими потенциальными утечками из кешей, которым ещё нет названия, в ядре 5.8 должна была появиться такая неоднозначная функция, как сброс кеша данных L1 при переключении контекста. К счастью, Торвальдс не одобрил этой идеи и даже назвал её безумной.

Дело в том, что речь идёт не просто о сбросе кеша в действительно требующей этого ситуации. Это функция, позволяющая делать такой сброс по «приказу» любого приложения, причём это приложение в многозадачной ОС, каковой является Linux, будет замедлять не только себя, но и остальные процессы. Для высоконагруженных серверных систем это крайне вредная практика. Кроме того, сам сброс является осмысленной задачей только для процессоров Intel, и Торвальс закономерно посчитал навязывание сброса L1 даже тем конфигурациям, где оно не требуется, плохой идеей.

В своём посте, посвященном этой теме, он прямо заявил, что не желает видеть опции в стиле «я могу заставить делать ядро глупые вещи». Такая опция должна иметь двойное подтверждение. Кроме того, использование SMT делает всю идею практически бессмысленной. Далее Торвальдс отметил, что будет счастлив получить больше информации о том, почему он может быть неправ, но на данный момент он отзывает данную опцию ядра 5.8 по причине «нехватки информации».

За патч со сбросом данных из L1 при смене контекстов отвечает разработчик из Amazon, но пока с его стороны, а также со стороны Intel не поступало никаких комментариев и заверений в том, что этот патч действительно необходим и действительно спасает от реальных угроз. 

Постоянный URL: http://servernews.ru/1012487
28.05.2020 [15:42], Алексей Степин

Предложен новый механизм Statfs для получения статистики работы ядра Linux

Механизм получения статистических данных, генерируемых ядром Linux, использует DebugFS и устроен таким образом, что обычно требует root-доступа, а sysfs не всегда удобна. Более того, в ряде случаев требуется создание пользователями собственного инструментария.

Один из разработчиков Red Hat вынес предложение изменить столь неудобное положение дел. Для этого предлагается использовать новую, специально предназначенную для сбора статистики виртуальную файловую систему Statfs.

Изначально единого механизма сбора статистики ядра в Linux не существует. Как отмечает в своём посте Эмануэль Джузеппе Эспосито (Emanuele Giuseppe Esposito), подсистемы ОС вынуждены использовать свои механики сбора, например, в виде файлов в пространстве debugfs. Так, KVM имеет свой блок кода, отвечающий за эту функцию (обработчики debugfs находятся в файле virt/kvm/kvm_main.c). Из этого, отмечает разработчик, вытекает две основные проблемы: избыточный код и то, что debugfs далеко не всегда подходит для накопления статистики, хотя бы потому, что эта файловая система подвержена механизму локдауна (lockdown).

Решение проблемы он видит в использовании специальной виртуальной файловой системы statsfs, которая располагается в оперативной памяти. Эта система создана Паоло Бонзини (Paolo Bonzini), она достаточно проста и имеет стабильный API. В общем дереве она монтируется как /sys/kernel/stats, и в этом виде KVM уже может использовать statsfs. Данная ФС поддерживает любую структуру файлов и директорий, различные типы данных, а также их агрегацию, причём, не только в виде суммы, но также и в виде значений average, max, min и count_zero.

Применение statsfs позволяет избежать необходимости root-доступа, «загрязнения» пространства debugfs и существенно упрощает саму процедуру сбора статистики. Подробности можно узнать в этой ветке обсуждения ядра.

Постоянный URL: http://servernews.ru/1012091
10.01.2020 [17:10], Андрей Галадей

Линус Торвальдс выступил против ФС ZFS в Linux

Одной из проблем Linux, как сообщалось ранее, является некорректная работа планировщика задач. Тогда Линус Торвальдс заявил, что планировщик работает штатно, а также ответил на слова одного из участников дискуссии на тему модуля ядра ZFS on Linux.

Дело в том, что последние обновления в ядре частично нарушили работоспособность этой файловой системы.

Торвальдс же заявил, что этот модуль является внешней надстройкой над ядром, потому корректность его работы не гарантируется, разработчикам ZFS on Linux самим нужно отслеживать все проблемы.

Кроме того, «отец Linux» заявил, что модуль ZFS несовместим с лицензией GPLv2, поскольку предлагается под собственной лицензией Oracle (ранее Sun) CDDL. Из-за этого модуль и не принимают в ядро системы, поскольку его правовой статус до сих пор остаётся неопределённым.

По словам Торвальдса, если бы Oracle дала официальное разрешение, заверенное главным юристом или основателем компании Ларри Эллисоном, тогда бы он дал «добро» на включение кода ZFS в основную ветку ядра. На данный момент модуль ZFS on Linux распространяется под смешанной лицензией.

Создатель Linux резюмировал, что использование ZFS на текущий момент является данью моде, а не реальной необходимостью ввиду отсутствия нормальной поддержки и наличия проблем с лицензиями.

Постоянный URL: http://servernews.ru/1001190
25.11.2019 [19:26], Андрей Галадей

Вышло ядро Linux 5.4: поддержка exFAT, ограничение доступа к ядру и не только

Линус Торвальдс объявил о выпуске ядра Linux 5.4, в котором добавлены новые возможности, ряд механизмов защиты, а также обновлённые драйверы для поддержки новых аппаратных решений.

Одним из главных нововведений стала экспериментальная поддержка файловой системы Microsoft exFAT, которая теперь реализована на уровне ядра. 

pixabay.com

pixabay.com

Ещё одним новшеством стала функция блокировки ядра, которая должна защитить критически важный элемент системы от нежелательных приложений. Теперь в ядре применяются ограничения доступа пользователя root, а также блокировка обхода UEFI Secure Boot. Это должно уменьшить возможности злоумышленников по перехвату управления системой.

Не стоит забывать и о ряде новых аппаратных устройств, которые поддерживаются ядром. Это, к примеру, графические процессоры AMD Radeon Navi 12 и 14, будущие Radeon Arcturus, а также гибридные процессоры AMD Dali. Кроме того, новая версия умеет работать с датчиками температуры в CPU Ryzen 3000, а в AMD EPYC улучшили балансировку нагрузки.

Из других особенностей отметим поддержку Intel Tiger Lake, Qualcomm Snapdragon, начиная с модели 835 и вплоть до 855, механизм fs-verity для контроля целостности файлов и много другое.

Пока что ядро доступно на kernel.org для самостоятельной сборки. Готовые же версии ядра под разные дистрибутивы придётся подождать. При этом рекомендуется не торопиться, ведь ядро получит статус «стабильного» через неделю-две, после чего оно будет готово к массовому внедрению.

Постоянный URL: http://servernews.ru/998425
05.11.2019 [19:38], Андрей Галадей

В Linux 5.5 улучшат механизм применения патчей ядра без перезагрузки

Одним из долгожданных нововведений в последних версиях ядра Linux стало применение патчей без перезагрузок системы. Это позволило ускорить и упростить процесс обновления, а также, при необходимости, иметь возможность откатиться на предыдущую версию.

wikipedia.org

wikipedia.org

В версии ядра Linux 5.5 появится большое дополнение к этим возможностям. Речь идёт о поддержке отслеживания изменений состояния системы. В новой сборке обещано добавление новых API в инфраструктуру бесшовного обновления. Это позволит решить проблему с патчами для ядра, которые невозможно или очень сложно откатить. 

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

Постоянный URL: http://servernews.ru/996953
31.10.2019 [09:59], Андрей Галадей

Ядро Linux получит систему автоматического тестирования KernelCI

Одной из проблем ядра Linux является относительно слабое тестирование. На текущий момент оно проводится довольно-таки фрагментарно, без чёткой системы и методики. А «зоопарк» различных устройств лишь усложняет процесс, поскольку разработчики зачастую не имеют оборудования нужного типа.

Однако теперь ожидаются перемены к лучшему — среда автоматического тестирования KernelCI совсем скоро станет официальной частью Linux Foundation.

pixabay.com

pixabay.com

По данным ZDnet, в ходе недавнего мероприятия Linux Kernel Plumber в Лиссабоне, Португалия, тема тестирования ядра стала одной из самых горячих. Обсуждались методики улучшения, автоматизации процесса и тому подобных вещей. Теперь же на Open Source Summit Europe в Лионе, Франция, разработчики KernelCI заявили о присоединении к Linux Foundation.

Использование KernelCI позволит автоматизировать процесс, а также ускорить саму процедуру тестирования, поскольку на данный момент есть несколько параллельных проектов. В результате разработчики распыляют силы и дублируют результаты.

Сотрудник KernelCI Collabora Ги Лунарди (Guy Lunardi) отметил, что важно обеспечить всестороннее тестирование ядра Linux, поскольку система давно уже стала критически важной во многих отраслях.

В сухом остатке: использование KernelCI позволит улучшить тестирование и проверку ядра Linux Long Term Support повысить безопасность, объединить дублирующие друг друга проекты и технологии тестирования, а также расширить список гарантировано поддерживаемого оборудования.

Постоянный URL: http://servernews.ru/996569
Система Orphus