Скачать Linux-ядро 2.6.35

LinuxНа этой неделе Линус Торвальдс, как всегда с гордостью, объявил о выходе следующей версии Linux-ядра под номером 2.6.35. Новая версия включает в себя поддержку альтернативной технологии ввода/вывода Direct I/O для файловой системы Btrfs, в файловую систему XFS интегрирована возможность отложенной записи в режиме журналирования, что, несомненно, повысит производительность при работе с мета-данными. Новое ядро обеспечивает поддержку протокола CAIF, который используется для осуществления связи между модемом пользователя и сервером. Кроме того, Linux-ядро 2.6.35 обеспечивает ускорение декодирования VC1 и H.264 видео для чипсетов Intel G45 +, а также добавляет поддержку чипсетов Intel Cougarpoint. Изменения коснулись и возможностей DRM-модуля Radeon для видеокарт ATI/AMD, который теперь обеспечивает начальную поддержку функции управления энергопотреблением.

В официальном анонсе релиза Linux-ядра 2.6.35 Линус Торвальдс признался, что его попытка вернуть жесткие правила заморозки кода в ходе работы над  Linux-ядром, принесла свои положительные плоды. Если вы помните, правила заморозки кода всегда существовали, только вот никогда до конца не выполнялись. Когда-то Торвальдс начал ограничивать введение существенных изменений и тем более улучшений функционала ядра до выхода RC2. Нет, конечно, если разработчики находили серьезные баги, то, безусловно, исправления вносились вплоть до финальной версии. И вот неожиданно глава Linux-проекта решил, что пора завязывать с самодеятельностью.

Буквально перед выходом RC3 релиза 2.6.35 было озвучено категорическое ограничение на внесение поправок, которые не связаны с ошибками в кодировке. В итоге вместо 3 800 исправлений, которые были сделаны при подготовке предыдущего релиза ядра версии 2.6.34 уже после выхода RC1, на этот раз разработчики ограничились всего 2 000 коммитов. А это серьезная победа. Итак, вот некоторые важнейшие вопросы, решенные в Linux Kernel 2.6.35:

Осуществлено прозрачное распределение нагрузки для входящего сетевого трафика через CPU: Пропускная способность сетевых карт сегодня улучшена до такой степени, что современный процессор только и делает, что успевает за их развитием. В связи с этим в ядро введены две возможности, которые помогают распределять нагрузку сетевого трафика на все процессоры, установленные в системе. Первая - Receive Packet Steering (RPS), она организовывает распределение нагрузки между несколькими процессорами, позволяя обрабатывать протоколы (например, IP и TCP) параллельно, чего не было ранее. Вторая - Receive Flow Steering (RFS) дополняет первую эвристическими методами выбора CPU с учетом оптимизации использования кэша.

Улучшения в файловой системе Btrfs: В реализации файловой системы Btrfs теперь добавлена поддержка Direct I/O – это технология, использующаяся для обхода кэша файловой системы. Это наносит ущерб производительности, но широко используется в высококачественном программном обеспечении, например, в некоторых базах данных. Кроме того, введена поддержка кода –ENOSPC, который обрабатывает все сложные случаи, например, нехватку дискового пространства.

Улучшения в файловой системе XFS: Добавлен новый режим журналирования, называемый «отложенная запись», который позволяет накапливать несколько асинхронных операций в памяти, вместо того, чтобы писать их несколько раз. Использование данного режима значительно сокращает нагрузку на I/O, повышая производительность при работе с мета-данными. Однако эта функция является экспериментальной и не рекомендуется для использования конечными пользователями.

Улучшения в отладчике ядра: Linux-ядро, начиная с версии 2.6.26, включает отладчик Kgdb, кроме того, существует другой вариант отладчика, разработанный много лет назад SGI, - KDB. Ключевая разница между Kgdb и KDB в том, что использование Kgdb требует наличия дополнительного компьютера для запуска интерфейса GDB, отлаживая систему на уровне исходного кода. В свою очередь KDB может быть запущен на локальном компьютере и использован для проверки системы, но не на уровне исходного кода. Теперь оба интерфейса могут работать одновременно.

Интересные графические улучшения:

•    i915: введена поддержка аппаратного ускорения H.264 и VC1-видео на G45 +, планируется поддержка графики в будущем чипсете Intel Cougarpoint, осуществлена поддержка мониторинга мощности, чересстрочных дисплеев и самообновления памяти для чипов Ironlake;
•    Radeon: начальная поддержка мониторинга мощности, упрощение и улучшение кода обработки сброса GPU,   добавлены несколько важных моментов, необходимых для аппаратной поддержки видеокарт Evergreen.

Осуществлено уплотнение памяти: Новый механизм уплотнения памяти (memory compaction) снижает фрагментацию внешней памяти за счет создания большого блока непрерывно используемых страниц, оставляя крупный блок свободных страниц, что позволяет легче выделять большие фрагменты памяти. Этот механизм называется "уплотнением", и он отличается от других форм дефрагментации.

Поддержка нескольких независимых таблиц multicast-маршрутизации: как правило, multicast маршрутизация работает в пользовательском пространстве демона и решает, что делать с многоадресными пакетами, основываясь на адресе IP приемника и назначения. Новая функция добавляет поддержку нескольких независимых таблиц multicast-маршрутизации, так что ядро может принять интерфейсы и пакеты и запустить несколько одновременно.

Поддержка протокола L2TP третьей версии (RFC 3931): Протокол L2TP обеспечивает предоставление средств для динамического формирования L2-туннелей поверх IP-сетей, а также для переброса ряда других L2-протоколов, включая ATM, Frame Relay, HDLC и даже Ethernet.

Поддержка протокола CAIF: CAIF это MUX- протокол, используемый ST-Ericsson в GPRS-модемах, которые обеспечивают связь между модемом и сервером.

Добавлена поддержка интерфейса APEI: Поддержка интерфейса APEI позволяет улучшить обработку NMI, а также  сохранять MCE (Machine Check Exception) ошибки на Flash и многое другое.

Линус Торвальдс

Список изменений, внесенных в новую версию ядра можно продолжать бесконечно, мы же остановились лишь на главных моментах, которые сам Линус Торвальдс считает самыми полезными и нужными исправлениями в Linux-ядре версии 2.6.35.

Скачать  Linux Kernel 2.6.35

Обсуждение