Спустя менее чем три месяца с момента выхода прошлой версии , Линус Торвальдс следующий релиз Linux ядра - . В новое ядро принято 11708 исправлений от 1354 разработчиков, размер патча - 54Мб (добавлено 869 тыс. строк кода, удалено - 489 тыс.).
Основные :
Дисковая подсистема, ввод/вывод и файловые системы
В состав ядра принят код , реализация распределенного реплицируемого блочного устройства (RAID-1 по сети);
Из ядра удалена поддержка планировщика ввода/вывода Anticipatory Scheduler, вместо него рекомендуется использовать CFQ;
В ядро интегрирована система "Block I/O controller", для организации ограничения пропускной способности блочных устройств. Одно из наиболее интересных применений разработки - введение ограничений на дисковый ввод/вывод для одного или группы процессов, а также для окружений работающих через системы виртуализации.
Переработана организация блокировок в файловой системе reiserfs v3: осуществлена замена глобальной блокировки на использование рекурсивного mutex, что не решило всех проблем (полный уход от глобальных блокировок требует переработки архитектуры reiserfs), но позволило частично повысить производительность reiserfs на многоядерных и многопроцессорных системах.
Сетевая подсистема
Поддержка TCPCT (TCP Cookie Transactions), расширения протокола TCP, нацеленного на защиту от DoS-атак, таких как SYN-флуд и массовый преждевременный обрыв соединений. В отличие от классического кода защиты от SYN-флуда, TCPCT не конфликтует с другими расширениями протокола TCP, но требует поддержки в TCP-стеках на стороне клиента и сервера. Основная причина использования TCPCT - активное внедрение протокола DNSSEC.
Память и системные сервисы
- система для организации хранения содержимого системных кэшей в сжатом виде. Основная новой технологии в сжатии неиспользуемых страниц памяти и оставлении их в ОЗУ, без вытеснения в раздел подкачки. По сути Compcache представляет собой размещенный на RAM-диске виртуальный раздел подкачки с хранением данных в сжатом виде.
Добавлен новый системный вызов recvmsg(), позволяющий организовать получение в рамках одного системного вызова сразу нескольких сообщений, которые ранее потребовали бы отдельных вызовов recvmsg(). Технология значительно повышает эффективность работы приложений передающих большие объемы данных или оперирующих пакетами небольшого размера.
Оборудование и аппаратные архитектуры
В состав ядра в экспериментальном режиме включен DRM-модуль (Direct Rendering Manager) из состава Nouveau, открытого драйвера для видеокарт NVIDIA с поддержкой 2D и 3D акселерации. Nouveau уже используется в качестве основного драйвера для видеокарт от NVIDIA в релизе Fedora 12 и будет использован в Ubuntu 10.04. К сожалению, в последнем выпуске драйвера Nouveau было API, что делает код драйвера, работающий на уровне пользователя, несовместимым с принятым в "staging" дерево Linux ядра 2.6.33 модулем DRM. Поддержка нового API появится в ядре 2.6.34;
Обновлены ранее включенные в Linux ядро DRM модули для карт Intel и ATI/AMD. Для модуля для карт ATI Radeon изменен статус с экспериментального на стабильный;
Добавлена оборудования, используемого в игровых приставках Nintendo Wii и Gamecube.
Из состава ядра код драйверов для платформы Android, разработанный компанией Google. В качестве причины удаления названо отсутствие должной поддержки со стороны разработчика, не продолжившего устранение недочетов в рамках слияния кода с ядром Linux.
Подверглась доработке инфраструктура трассировки, в инфраструктуру ftrace добавлена поддержка , расширены возможности утилиты "perf" (tools/perf). Добавлен ряд новых команд: perf probe, perf bench, perf kmem, perf diff. Внесенные в ядро 2.6.33 изменения реализовать в утилите PowerTop возможность отслеживания эффективности использования энергосберегающих технологий в звуковой и SATA подсистемах;
Виртуализация
В состав ядра включены два драйвера для оптимизации работы гостевых окружений под управлением системы виртуализации VMware: VWware Virtual GPU для акселерации графического вывода в гостевых окружениях, и драйвер виртуального Ethernet адаптера vmxnet3;
Поддержка (ioctl KVM_XEN_HVM_CONFIG), что дает возможность запуска гостевых окружений в пространстве пользовательского процесса.