Linux 3.10

LinuxDoc.Ru,
Линус Торвальдс после двух месяцев разработки анонсировал релиз ядра Linux 3.10. Среди наиболее заметных улучшений: BCache для кеширования на SSD-накопителях содержимого более медленных жестких дисков, динамическая система управления генерацией прерываний таймером, улучшение ситуации в случае потери пакета в конце TCP-соединения, возможность проверки целостности метаданных в XFS, поддержка режима Skinny Extents в Btrfs, начало реализации поддержки гибридных систем ARM big.LITTLE, поддержка гипервизора KVM для платформы MIPS.


В новую версию принято 13.6 тысяч исправлений от примерно 1391 разработчиков, размер патча - 47 Мб (изменения затронули 10475 файлов, добавлено 663992 строк кода, удалено 395368 строк). Около 45% всех представленных в 3.10 изменений связаны с драйверами устройств, примерно 23% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 4% - файловыми системами и 5% c внутренними подсистемами ядра.

Из наиболее интересных новшеств можно отметить:


Дисковая подсистема, ввод/вывод и файловые системы

Интеграция разработанной и применяемой в Google системы Bcache, которая позволяет организовать кэширование доступа к медленным жестким дискам на быстрых SSD-накопителях, при этом кэширование ведётся на уровне блочного устройства, что позволяет ускорить доступ к накопителю независимо от используемых на нём файловых систем. Один SSD-накопитель может использоваться для кэширования нескольких различных блочных устройств. Блочное устройство может быть на лету прикреплено к кэшу и отключено от него, без размонтирования и временной остановки работы (создание кэша требует форматирования с использованием утилиты make-bcache). Поддерживается как сквозное кэширование (writethrough), так и режим отложенной записи (writeback) при котором данные записываются на исходный носитель не сразу, что позволяет обеспечить ускорение операций записи. Дополнительно поддерживается режим readahead, при котором кэш наполняется не только при записи, но и при операциях чтения;

В Btrfs добавлена поддержка режима Skinny Extents, позволяющего уменьшить размер дерева распределения блоков на 30-35% за счёт сокращения размера ссылок в экстенте на каждый блок с 52 до 33 байт. Сокращение размера приводит к ускорению операций copy-on-write, более экономному расходованию пространства и более эффективному кэшированию метаданных в памяти. Для включения новой возможности для существующих разделов следует использовать команду "btrfstune -x". Из других изменений в Btrfs отмечается поддержка автоматического перестроения индекса квот;



В файловой системе XFS появилась экспериментальная поддержка ведения контрольных сумм CRC32c для контроля целостности метаданных. Указанное изменение разработано в рамках более обширного проекта "self-describing metadata", нацеленного на решение проблемы с существенным временем проверки больших разделов с использованием утилиты fsck. Для решения проблемы формат ФС будет расширен дополнительной информацией, позволяющей судить о целостности каждого объекта метаданных. Например, подобные элементы проверки планируется добавить для типа метаданных, идентификатора ФС, данных о расположении блоков, параметров владельца метаданных, идентификаторе позиции в логе;




В подсистему iSCSI добавлена поддержка протокола RDMA (iSER), предоставляющие похожие на DMA возможности для организации прямого доступа к памяти другого компьютера;

В распределённую файловую систему Ceph добавлена поддержка многослойной работы для RBD. В частности, теперь доступен механизм для быстрого создания copy-on-write клонов сетевых блочных устройств, каждый из которых продолжает работать как отдельное RBD-устройство. Например, для организации быстрого развёртывания новых виртуальных окружений можно организовать создание образов таких окружений как клонов эталонного образа виртуальной машины;








Виртуализация и безопасность


Реализация порта KVM для процессоров MIPS. Порт KVM для MIPS базируется на использовании расширения MIPS-VZ, доступного в процессорах OCTEON III (MIPS32R2 и новее);



Функциональность запуска скриптов, содержащих путь к интерпретатору в заголовке "#!", теперь может быть собрана в виде модуля ядра, что позволяет легко запретить выполнение скриптов как программ;

Внесены многочисленные улучшения, связанные поддержкой cgroups. В cgroups добавлена поддержка генерации события с уведомлением приложения о приближении к исчерпанию доступной процессу или системе памяти. Реализована полная поддержка иерархических cgroups для групп "device" и "perf_event". Добавлена новая опция монтирования "__DEVEL__sane_behavior" при указании которой используется более жёсткий метод обеспечения непротиворечивости иерархии для всех групп;




Выполнение криптографических функций, в том числе sha256, sha512, blowfish, twofish, serpent и camellia, оптимизировано с использованием инструкций AVX/AVX2 и SSE. Отдельно можно отметить задействование поддерживаемых в современных CPU AMD и Intel средств ускорения шифрования AES, что позволяет существенно повысить производительность eCryptfs AES-NI;

Добавлен драйвер для виртуальных видеоадаптеров Microsoft Hyper-V;
Интегрирован драйвер виртуальной графической карты QXL, применяемой в системах виртуализации для обеспечения акселерированного вывода графики с использованием протокола SPICE;
















Сетевая подсистема

В TCP-стек добавлена поддержка алгоритма проверки потери хвоста (Tail loss probe, TLP), уменьшающего время восстановления скорости потока в случае отбрасывания пакета в конце соединения. Новый алгоритм эффективен для небольших и чувствительных к задержке соединений, для которых потеря последнего пакета может создавать существенные задержки. Интегрированный в ядро патч опробован на web-серверах Google и показал высокую эффективность при обработке небольших web-транзакций, позволил сократить время таймаута для повтора (RTO) на 15% и уменьшить время поступления HTTP-ответа на 6%;

Для mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы, обеспечена поддержка механизма "сетевого кодирования", позволяющего в некоторых ситуациях одновременно передавать два пакета для разных получателей, путем их объединения с использованием операции исключающее "ИЛИ" (XOR);

Удалена поддержка механизма TCP Cookie Transactions (TCPCT), который никогда не был полностью реализован на практике и негативно влияет на производительность;

В реализацию протокола IPv6 добавлена поддержка работы поверх IEEE 1394 ("Firewire");

В интерфейс netlink добавлена поддержка выполнения операций ввода/вывода с маппингом в память ( memory-mapped I/O), что позволяет избавиться от лишней операции копирования содержимого пакета из ядра в пространство пользователя;
Поддержка спецификации IEEE 802.1ad (VLAN stacking или QinQ), определяющей средства для подстановки нескольких тегов VLAN в один фрейм Ethernet;



















Память и системные сервисы

Добавлена динамическая система управления генерацией прерываний таймером, позволяющая в зависимости от текущего состояния изменять прерывания в диапазоне от тысяч тиков в секунду до одного прерывания в секунду, сводя к минимуму нагрузку на CPU при обработке прерываний при неактивности системы. В настоящее время добавленная функциональность нацелена на применение в системах реального времени и для высокопроизводительных вычислений (HPC), в будущих выпусках планируется задействовать указанную возможность и для десктоп-систем.


Важным эффектом введения новой системы является уход от использования фиксированного цикла генерации прерываний таймера в процессе организации работы многозадачности. Если ранее для переключения задач система полагалась на формирование 1000 прерываний таймера в любых условиях, независимо от того, имеется нагрузка или система простаивает, то отныне переключение между задачами не зависит от фиксированных сигналов таймера, что позволяет решить проблемы с энергопотреблением и выполнением задач в режиме реального времени (каждое прерывание от таймера приостанавливает realtime задачу в непредсказуемый момент ей выполнения). Текущая реализация в общем виде не зависит от сигналов таймера (tickless) даже когда имеются активно выполняемые задачи, тем не менее система не избавлена полностью от таймера, так как требует как минимум одного пробуждения от таймера в секунду. Полноценный tickless-режим отключается в случае выполнения более одного процесса, а также для одного из CPU, чтобы обеспечить работу других CPU в tickless-режиме;





В ядро интегрированы наработки ветки 'ipc-scalability', в которой проведена работа по чистке и увеличению масштабируемости реализации SysV IPC. В частности, переработана система организации блокировок. Если ранее поддерживалась установка одной ipc-блокировки на массив семафоров, то теперь блокировки более гранулированы и могут быть установлены для отдельных семафоров. В итоге, некоторые тесты производительности показывают прирост производительности при работе с семафорами до 10 раз. Прирост производительности в тесте Pgbench составил 100%;

Внесены оптимизации в код семафоров чтения и записи (rwsem), что позволило заметно повысить производительности для некоторых типов нагрузки. Например, прирост производительности в тесте Pgbench составил 100%;

В реализацию POSIX-таймеров и таймеров высокого разрешения добавлен новый тип часов CLOCK_TAI, оперирующих международным атомным временем;

Большая порция функций для доступа к физическому уровню USB помечена как экспортируемая только для компонентов под лицензией GPL, что не позволяет обращаться к ним и из проприетарных модулей ядра;

Добавлена возможность сосуществования нескольких регуляторов частоты CPU (CPU frequency governor), запущенных с разными тонкими настройками. Одновременный запуск нескольких регуляторов может применяться в гетерогенных многопроцессорных системах (например ARM big.LITTLE), позволяющих разным CPU работать с разными параметрами;

Внесены патчи, подготовленные в рамках проекта LLVMLinux и позволяющие собирать ядро компилятором Clang. Аналогичные патчи внесены в ветку Clang 3.3, что приблизило проект к состоянию, когда немодифицированное ядро можно пересобрать штатным компилятором Clang;
Добавлен новый экспериментальный драйвер "sync", разработанный в рамках платформы Android и используемый для синхронизации между другими драйверами;
В систему uprobes (userspace probes), нацеленную на анализ поведения выполняемых в пространстве пользователя приложений, добавлен контрольный вызов для перехвата выхода из функции (выполнение Return);
В команду perf добавлена поддержка профилирования доступа к памяти;


















Аппаратные архитектуры


Увеличено число SoC, поддерживающих многоплатформенные ARM-сборки (возможность собрать одно ядро, которое будет содержать поддержку различных ARM-платформ). Из распространённых ARM-систем без поддержки данной технологии пока остаётся Samsung Exynos, патчи для которого были отложены до следующего выпуска ядра;

Интегрирован патч мультикластерного управления питанием для ARM, который приблизил ядро к полноценной поддержке технологии big.LITTLE, комбинирующей в одном процессорном модуле несколько CPU - энергоэффективный и высокопроизводительный, с распределением работ между ними в зависимости от текущих задач;


Поддержка новых средств управления питанием, появившихся в процессорах AMD семейства 16h ("Jaguar");




Оборудование

В DRM-модуль Radeon добавлена поддержка ускорения декодирования видео с использованием аппаратного декодера UVD, встроенного в современные GPU AMD. Поддержка UVD обеспечена для GPU HD4xxx-HD5xxx (R700, Evergreen), поддерживающих UVD2, и HD6xxx-HD7xxx (Northern Islands, Southern Islands) с поддержкой UVD3. Кроме того, в модуль Radeon добавлены идентификаторы графических чипов процессоров семейства Richland(A4, A6, A8 и A10) и обеспечена поддержка тайлинга для карт Radeon HD 7000;

В DRM-модуле Nouveau для карт NVIDIA Fermi добавлена поддержка технологии сжатия видеопамяти и обеспечена поддержка переключения видеорежимов для серии NVF0;
В драйвере для чипов NVIDIA Tegra добавлена поддержка 2D-ускорения;
В DRM-драйвере для карт Intel улучшена поддержка чипов Valley View, добавлены расширенные средства "разгона" GPU и обеспечена поддержка Haswell Turbo. Реализована возможность бесшовного перехода в спящий режим, не требующего переключения в виртуальную консоль;

Добавлены контроллеры частоты CPU для Samsung EXYNOS5440 и ARM big.LITTLE;
Поддержка сетевых интерфейсов Netlogic XLR/XLS;
Поддержка USB-контроллеров DesignWare USB2;
В Video4Linux добавлена поддержка тюнеров Rafael Micro R820T и ITE Tech IT913x, FM-радио Silicon Laboratories 4761/64/68 AM/FM и Si476x I2C FM, звуковых кодеков Philips UDA1342, декодировщиков видео Techwell TW9903, TW9906 и TW2804.

В подсистему ALSA ASoC добавлен новый обобщённый драйвер dmaengine_pcm, который заменил собой множество специфичных для платформ реализаций драйверов PCM;

Добавлена поддержка новых процессоров Atmel SAMA5D3, Freescale T4240 QDS и B4 QDS, Renesas R8A73A4, R8A7778, R8A7790, Freescale i.MX6 DualLite/Solo;

Поддержка беспроводных сетевых адаптеров на базе Ralink RT5572 и Realtek RTL8188EE, а также Ethernet адаптеров на базе Realtek RTL8152;
linux

Новости Linux

. Linux 3.10 Linux 3.10
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>> Представлен релиз дистрибутива Linux Mint 20, перешедший на пакетную базу Ubuntu 20.04 LTS. Дистрибутив полностью совместим с Ubuntu, но существенно отличается подходом к организации интерфейса пользователя и подбором используемых по умолчанию приложений. Разработчики Linux Mint предоставляют десктоп-окружение, соответствующее классическим канонам организации рабочего стола, которое является более привычным для пользователей, не принимающих новые методы построения интерфейса GNOME 3. Для загрузки доступны DVD-сборки на базе оболочек MATE 1.24 (1.9 Гб), Cinnamon 4.6 (1.8 Гб) и Xfce 4.14 (1.8 Гб). Linux Mint 20 отнесён к выпускам с длительным сроком поддержи (LTS), обновления для которого будут формироваться до 2025 года.
>>> Разработчики проекта Chromium внесли изменение, прекращающее доверие к TLS-сертификатам, время жизни которых превышает 398 дней (13 месяцев). Ограничение будет действовать только для сертификатов, выписанных начиная с 1 сентября 2020 года. Для полученных до 1 сентября сертификатов с длительным сроком действия доверие будет сохранено, но ограничено 825 днями (2.2 года).
>>> Опубликован второй выпуск графического редактора Glimpse, ответвившегося от проекта GIMP после 13 лет попыток убедить разработчиков сменить имя. Сборки подготовлены для Windows и Linux (пока только в формате Flatpak, но будет подготовлен и Snap). Кроме исправления ошибок из изменений отмечается добавление новых тем оформления интерфейса и пиктограмм, улучшение переводов для неанглоязычных пользователей, избавление фильтров от упоминания слова "gimp", добавление настройки для выбора языка на платформе Windows и удаление лишних кистей "fun".
>>> Состоялся релиз web-браузера Min 1.13, предлагающего минималистичный интерфейс, построенный вокруг манипуляций с адресной строкой. Браузер создан с использованием платформы Electron, позволяющей создавать обособленные приложения на основе движка Chromium и платформы Node.js. Интерфейс Min написан на javascript, CSS и HTML. Код распространяется под лицензией Apache 2.0. Сборки сформированы для Linux, macOS и Windows.


Редакция портала:

Добро пожаловать на сайт, посвященный документации к ОС Linux, ее переводу и распространению. Мы надеемся, что Вы найдете тут всю необходимую информацию. Здесь представлены три основных вида документации на русском языке: руководства (man-pages), HOWTO и mini-HOWTO. В скором будущем возможно появление и других видов документации.
Авторские права на представленные документы принадлежат авторам перевода и распространяются в соответствии со Стандартной Общественной Лицензией, если в документе не указано обратное.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.


Живая лента

Самый мощный российский процессор будет 32-ядерным и сделанным по технорме 7 нм

STFW.Ru: Представители АО "МЦСТ" сообщили, что компания в этом году начнет разработку самого быстрого процессора Эльбрус следующего поколения. Он будет использоваться для высокопроизводительных ...

Очередной серийный Суперджет 100 совершил первый полёт

STFW.Ru: 27 октября в Комсомольске-на-Aмуре совершил свой первый полет очередной серийный пассажирский самолёт Суперджет 100. Борт с заводским номером 95207 и регистрацией 89147 предназначен для а/к ...

Ученые РФ разработали новый препарат для лечения при патологиях печени

STFW.Ru: Ученые Белгородского государственного национального исследовательского университета в рамках работы по нацпроекту "Наука" разработали состав и технологию производства препарата на основе ...

06:01 Из Kali Linux уберут права root по умолчанию


06:01 Tails 4.2.2 - экстренный релиз


06:01 РЖД закупит 15 000 компьютеров с российскими процессорами «Эльбрус»


06:01 Минкомсвязи утвердило требования к российским DNS


08:11 Выпуск Debian 9.6


08:11 Четвёртый бета-выпуск FreeBSD 12.0. Прекращение поддержки FreeBSD 10


08:11 Mozilla тестирует в Firefox две новые возможности: Price Wise и Email Tabs


08:11 В Chrome развивается API для создания полноценных пользовательских приложений


08:11 Выпуск wayland-protocols 1.17 с поддержкой буфера обмена по средней кнопке мыши


08:11 Обновлены сборки дистрибутива Void Linux


15:11 Cinnamon 4.0


15:11 В Chrome 71 начнётся блокировка вводящих в заблуждение рекламных блоков


15:11 ReactOS 0.4.10