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