Представляя релиз ядра Linux 2.6.39, Линус Торвальдс поделился сомнением, не следовало ли ему выпустить предфинальную версию вместо окончательной. Несостыковка графиков (создателю и контролеру Linux предстояло выступать на проходящей в Японии 1—3 июня конференции LinuxCon) заставила его выпустить новую версию ядра, не включив в нее определенный код. Решающим фактором, пишет он, стало то, что данный релиз является “довольно простым”.
Нынешняя версия 2.6.39 отличается умеренной новизной по сравнению с выпущенной в середине марта версией 2.6.38, в которой среди прочего появились переработанная файловая система Virtual File System и исправление, улучшающее “автоматическую группировку процессов”. Правда, тот релиз содержал ошибку, в результате которой возрастало потребление энергии, если верить тестам, проведенным в апреле компанией Phoronix.
IPset помогает брандмауэрам быстрее блокировать вторжения
По оценке Торстена Лемхуиса, написавшего, как обычно, обзор новой версии ядра для сайта The H, и Джонатана Корбета, исполнительного редактора сайта LWN.net, крупнейшее изменение в версии 2.6.39 — использование последней версии сетевой технологии командной строки IP set (или IPset). Долго разрабатывавшийся усовершенствованный код IPset “упрощает реализацию, обслуживание и использование брандмауэров”, пояснил Лемхуис.
IPset создает в оперативной памяти таблицы IP-адресов или портов TCP/UDP, позволяя брандмауэру быстро блокировать любые подозрительные адреса, пишет Лемхуис. Кроме того, ядро может теперь блокировать эти таблицы гораздо быстрее, чем при использовании прежнего метода сверки с набором правил IPtables, говорится в статье.
Улучшенная обработка блоков для ускорения систем хранения
Другим крупным усовершенствованием стала переработанная подсистема обработки блоков для управления хранением файлов. Как сказал Линус Торвальдс, представляя еще предфинальную версию 2.6.39, новая модель “позволяет подключать каждый поток, а ее программный код стал значительно чище. Кроме того, она избегает частых блокировок при интенсивном использовании маршрута. В целом, это должно оказаться очень хорошей идеей”.
Как пояснил в статье, опубликованной в апреле на сайте LWN.net, главный архитектор обновленной системы обработки блоков Иенс Аксбое, новая модель обработки поступающих от устройства блоков должна повысить производительность запросов ввода/вывода к устройствам хранения. Данная модель допускает “накопление запросов с целью более полного использования возможностей аппаратуры и объединение последовательных запросов в один”, писал Аксбое. Запись и чтение больших порций данных за один раз может улучшить масштабируемость и расширить полосу пропускания, особенно применительно к новейшим быстрым устройствам хранения, отметил он.
Совершенствование Ext4 и KVM, помощь при захвате видео
Несмотря на неудачный старт, к настоящему времени Ext4 фактически стала основной файловой системой Linux и совершенствуется с каждым новым релизом. По умолчанию Ext4 будет теперь использовать вариант “многостраничный ввод/вывод” (Multiple Page-IO Submissions). Он должен существенно улучшить производительность и масштабируемость больших систем, считает Лемхуис.
Среди других усовершенствований файловой системы можно назвать улучшения Batch Discard для все еще экспериментальной файловой системы Btrfs и новую файловую систему Pstore, предназначенную для диагностики системных сбоев.
Технология виртуализации KVM (kernel-based virtual machine) теперь асинхронно обрабатывает ошибки, вызванные отсутствием страниц, пишет Лемхуис. Кроме того, улучшена обработка прерываний.
В свою очередь, Корбет указывает на сайте LWN.net на новую систему медиа-контроллера, соответствующую новейшей аппаратуре видеозахвата. Современные процессоры, такие как Texas Instruments OMAP3430, поддерживают технологию захвата видео (ввод видео из различных источников, баланс белого, компенсация затенения линзы, изменение размера кадра), которая должна полностью использоваться на уровне ядра, пояснил Корбет.
Утверждается, что подсистема медиа-контроллера создает новый тип медиа-устройства. Устройства такого типа управляют растущим количеством сложных компонентов, которые имеются в современном оборудовании для захвата видео, добавил Корбет.
Обновленные драйверы AMD Radeon и USB 3.0
Драйверы AMD Radeon теперь поддерживают семейство графических процессоров Cayman, которые используются в новейших видеокартах от Radeon HD 6790 до 6970, пишет Лемхуис. Между тем, драйвер Nouveau для графических процессоров (GPU) компании Nvidia теперь поддерживает Z-компрессию. Помимо других многочисленных усовершенствований драйверы Linux 2.6.39 теперь поддерживает концентраторы USB 3.0.
Будущая версия ядра 2.6.40
Хотя Linux 2.6.40 уже не будет продолжать линейку 2.6.3x, она необязательно станет принципиально новым релизом. Но в ней будет по крайней мере одно важное усовершенствование среди многочисленных изменений, касающихся работы в сетях Wi-Fi, пишет Лемхуис, — поддержка новых микросхем Marvell и Realtek.
Вероятно, в Linux 2.6.40 будет также использован JIT-компилятор, встроенный в программный код сетевого фильтра (о нем пишет Корбет), что должно ускорить фильтрацию пакетов. Впервые может появиться в Linux 2.6.40 и поддержка графического ядра процессоров с технологической нормой 22 нм Intel Ivy Bridge Core.