Спустя две недели с момента выхода ядра 3.8, Линус Торвальдс закрыл окно приема изменений для ядра Linux 3.9 и выпустил первый кандидат в релизы (3.9-rc1). В анонсе отдельно отмечается интеграция в ядро поддержки двух новых архитктур - metag и arc, а также большое число улучшений, связанных с архитектурой ARM. Около 60% всех внесённых в ядро изменений касаются драйверов устройств (драйвера для GPU, сетевая подсистема, staging, pinctrl, звуковая подсистем и т.п.).
Наиболее заметные изменения в ядре 3.9:
- Ряд исправлений и улучшений в F2FS, достаточно быстрой файловой системе, ориентированной на Flash-накопители;
- Экспериментальная поддержка RAID5/6 в файловой системе Btrfs, улучшение работы со снапшотами и ускорение работы системного вызова fsync();
- В EXT4 задействована реализация возможности "punch hole" для inode, что позволяет использовать функцию для файлов без карты экстентов. "Punch hole" позволяет пометить область внутри файла в качестве необязательной, которую можно при необходимости очистить. Включены наработки по увеличению эффективности кэширования экстентов и ускорено выполнение системного вызова fsync();
- Поддержка нового семейства встраиваемых процессоров - Synopsys ARC700;
- В планировщик задач внесены небольшие исправления, позволившие существенно повысить эффективность работы в ситуациях когда число процессоров превышает число выполняемых активных процессов. За счёт сокращения миграций процессов, мешающей оптимальному использованию процессорного кэша, после внесения изменений производительность в некоторых тестах возросла до 15 раз;
- В системе трассировки ftrace добавлена поддержка создания снапшотов буфера трассировки с управлением через debugfs. Снапшоты позволяют зафиксировать состояние буфера для его изучения без прекращения трассировки, которая будет продолжена с использованием отдельного рабочего буфера;
- Множество улучшений, касающихся энергосбережения:
- Реализована поддержка оптических накопителей с нулевым потреблением энергии (zero power optical disc drive) - специального режима, в котором оптический привод может потреблять энергию близкую к нулю в периоды, когда он не используется;
- Ряд улучшений и изменений, касающихся управления питанием ACPI и ASPM;
- Ряд иных улучшений и дополнений в системах управления частотами различных процессоров;
- Реализация легковесного спящего режима (lightweight suspend mode).
- Ряд улучшений в поддержке архитектуры ARM:
- Начальная поддержка Soc Tegra 4, которая будет выпущена через несколько месяцев;
- Поддержка нескольких плат для разработчиков Tegra 3 и Tegra 4;
- Поддержка page flipping в DRM-драйвере Tegra;
- Ряд патчей для улучшения поддержки виртуализации в Xen и KVM на архитектуре ARMv7;
- На платформе Marwell Kirkwood реализована поддержка горячего подключения для шины PCI-E;
- Множество иных исправлений и улучшений для поддерживаемых ARM SoC. Увеличено количество SoC, поддерживаемых ядром собранным как multi-platform (одно ядро для разных SoC);
- Множество улучшений в звуковой подсистеме ALSA: Переработанная поддержка Intel HDA audio. Многие драйверы были унифицированы и объединены, что значительно снизит затраты на их дальнейшую поддержку. Ряд улучшений и поддержка новых чипов в Alsa SoC (ASoC);
- Поддержка технологии Google Goldfish. Goldfish - виртуальный процессор, нацеленный на обеспечение эмуляции платформы Android, используемый при разработке под данную платформу; * Ряд улучшений в подсистеме DRM (Direct Rendering Manager):
- Улучшения драйвера Ti OMAP, как то поддержка OMAP5 и управление энергосбережением;
- Переделан механизм блокировок подсистемы KMS;
- Оптимизации (no reloc) для DRM-драйвера Intel, что может дать несколько процентов прироста скорости;
- Улучшения в поддержке чипов Intel Haswell, в основном касающиеся управления энергопотреблением;
- Начальная поддержка видеокарт AMD серии HD8000;
- Ряд улучшений в DRM-драйвере Radeon: переработана логика сброса, использование колец DMA для обновления VM PT и т.д. Кроме того, поддержка переключения видеорежимов на уровне пользователя (UMS) окончательно объявлена устаревшей и более поддерживаться не будет;
- Ускорение алгоритма сжатия LZO используемого в ядре Linux в несколько раз при использовании современных процессоров i386/x86_64/ARM;
- Поддержка одноплатных компьютеров Technologic Systems TS-5500 и систем SGI Ultraviolet System 3;
- Поддержка тачпадов Cypress PS/2 и трекпадов Cypress APA I2C;
Одновременно вышли очередные корректирующие релизы ядра Linux: 3.0.68 (29 исправлений), 3.4.35 (46 исправлений) и 3.8.2 (78 исправлений). Как обычно, в анонсе выхода новых версий подчеркивается обязательность проведения обновления.
Дополнительно можно отметить введение в строй обновлённого сайта kernel.org, переход к обязательному использованию HTTPS (по HTTP без шифрования контент теперь не отдаётся) и миграцию с gitweb-caching на cgit для навигации по Git-репозиториям через Web. Структура и состав kernel.org остался прежним, изменился только дизайн. Для работы сайта теперь используется движок Pelican, предназначенный для генерации статических сайтов на основе шаблонов с разметкой, напоминающей Wiki. Отсутствие динамически генерируемого контента позволяет упростить зеркалирвоание и распространение содержимого без потери функциональности. Код шаблонов для генерации kernel.org можно загрузить через данный репозиторий.