Релиз Linux ядра 2.6.32
Линус Торвальдс представил релиз Linux ядра 2.6.32. 0 В новое ядро ведется 11838 исправлений от 1435 разработчиков, размер патча - 63Мб (добавлено 1.1 млн. строк кода, удалено - 541 тыс.). В анонсе новой версии с иронией отмечается, что основным отличием от версии 2.6.31 является недостаток добавления в ассортимент новой файловой системы. Тем не менее в код файловой системы btrfs и в код подсистемы работы с блочными устройствами внесено множество существенных изменений.
Приблизительно 70% всех представленных в 2.6.32 изменений связаны с драйверами устройств, приблизительно 10% изменений имеют связь к обновлению firmware, еще 10% связаны с обновлением кода специфичного для аппаратных архитектур (ARM, MIPS, POWER, SH, x86, SCore), 5% изменений связано с документацией, а остальное с сетевым стеком, файловыми системами (ocfs2, btrfs, nfs, nilfs, xfs, gfs2, ext4) и другими подсистемами.
Основные новшества:
* Дисковая подсистема, ввод/вывод и файловые системы:
o Переписана система writeback-кэширования (отложенная запись), которая сейчас работает с привязкой к отдельным блочным устройствам, а не в виде единого для всех устройств кэша. Перемена отдельно примечательно при записи больших файлов в системах с несколькими дисками, в частности, при записи файла размером 32 Гб на системе с 5 SATA дисками увеличение производительности файловой системы XFS составил 40%, а Btrfs - 26%. При обычной нагрузке многопользовательской системы средний прирост производительности составляет 8%;
o В число ядра включен новейший оптимизированный вариант планировщика ввода/вывода CFQ (Completely Fair Queuing), увеличивающего отзывчивость системы при большой дисковой нагрузке;
o Для оптимизации работы в условиях обработки большого числа прерываний, для блочных устройств представлен NAPI-похожий (device polling, когда драйвер иногда забирает накопившиеся требования, без генерации прерываний) режим работы, позволяющий снизить нагрузку на CPU (тесты продемонстрировали уменьшение нагрузки на 40%);
o В файловой системе 9p (Plan9) появилась поддержание кэширования;
o В реализации RAID6 появилась обеспечение асинхронного режима восстановления;
o Оптимизирована действие поиска свободных inode в XFS. Для больших файловых систем выполнение операций выделения дискового пространства теперь происходит в 3-4 раза быстрее;
o Добавлена реализация файловой системы devtmpfs (создает иерархию /dev в памяти через tmpfs, что позволяет начать работать с /dev еще до монтирования корня), известной также под именем Devfs 2.0;
o Улучшена осуществление файловой системы Btrfs: добавлены средства для корректной обработки ситуации переполнения дисковых разделов, устранены проблемы при удалении снапшотов и подразделов (subvolume), проведена оптимизация производительности (например, быстрота потоковой передачи на мощных системах возросла с 400MB/s до 1GB/s);
* Память
o Существенные улучшения отмечены в организации работы виртуальной памяти;
o Интегрирован менеджер памяти KSM ("Kernel Samepage Merging"), осуществляющий сканирование на предмет использования разными процессами идентичных по содержанию областей памяти и их объединение в один блок;
o Добавлен новый механизм для задания мягких ограничений ("soft limits") размера выделяемой для программ памяти. Пока в системе достаточно свободной памяти - ограничение не срабатывает, но как только стала ощущаться нехватка - процесс будет жестко ограничен;
* Оборудование и аппаратные архитектуры
o Добавлен DRM-модуль Radeon с поддержкой 3D, tv-out и переключения видеорежимов на уровне ядра (KMS) для видеокарт ATI R600/700. Расширены функции экономии энергии в DRM модуле для карт Intel, возобновлена сломанная ранее поддержка GPU серии 8xx, добавлена поддержка чипсета B43;
o Поддержка управления питанием устройств на лету, позволяет в процессе работы автоматически переводить устройства ввода/вывода в энергосберегающий режим, после определенного периода неактивности;
o Поддержка аппаратной архитектуры S-core, поддерживающей 16, 32- и 64-разрядные наборы инструкций. Как правило S-core используется в игровых приставках и LCD TV;
o Компания Intel представила код с реализацией поддержки нескольких своих технологий: Intel Moorestown (LPIA - Low Power Intel Architecture), SFI (Simple Firmware Interface) и ACPI 4.0.
* Виртуализация
o В экспериментальном режиме (Staging) добавлен паравиртуальный драйвер для работы под управлением системы виртуализации Microsoft Hyper-V;
o Расширение возможностей системы виртуализации KVM: новый высокопроизводительный менеджер ввода/вывода ioeventfd, поддержка технологии подстановки виртуальных прерываний (irqfd), режим эмуляции syscall/sysenter для упрощения миграции с других систем виртуализации, поддержка x2apic (увеличивает производительность на SMP системах);
* Разное
o В состав ядра включен код для поддержки технологии Intel Trusted Execution, использующей аппаратные возможности современных CPU для создания дополнительного уровня изоляции при выполнении программ;
o Подсистема "Performance Counters" переименована в "Performance Events". Добавлено много новых возможностей, таких как точки трассировки (perf tracepoints), возможность анализа работы планировщика задач, поддержка в пользовательской утилите генерации наглядных диаграмм;