Релиз Linux-ядра 2.6.39
19 мая 2011 года
Линус Торвальдс анонсировал релиз Linux-ядра 2.6.39, в состав которого включен код ipset, добавлен планировщик потока пакетов CHOKe, обеспечена поддержка архитектуры UniCore-32, добавлена новая подсистема "media controller", интегрированы сетевые бэкенды Xen ("netback"). Нынешний релиз был выпущен с трудом, Линус намеревался выпустить еще одну тестовую версию (rc8) для окончательной проверки всех внесенных после выпуска rc7 изменений, которых оказалось достаточно много. Так как Линус должен посетить конференцию LinuxCon в Японии, выпуск еще одной тестовой версии означал бы срыв всех планов и перенос релиза как минимум на три недели, поэтому посоветовавшись разработчики приняли решение выпустить релиз как есть с учетом того, что последние тестовые выпуски зарекомендовали себя, как достаточно стабильные.
В новую версию принято 11055 исправлений от 1405 разработчиков, размер патча - 56 Мб (добавлено 11014 тыс. строк кода, удалено - 10979 тыс. строк). Около 39% всех представленных в 2.6.39 изменений связаны с драйверами устройств, примерно 26% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% - файловыми системами и 6% c внутренними подсистемами ядра.
Наиболее интересные новшества ядра 2.6.39:
- Сетевая подсистема
- Интеграция кода ipset, позволяющего повысить эффективность работы пакетного фильтра с большими списками IP-адресов и подсетей. Подробнее о последней версии ipset можно прочитать здесь;
- Интегрирован новый планировщик потока пакетов CHOKe (CHOose and Keep), разработанный с целью избавления сетевых подсистем от излишней буферизации, приводящей к возникновению дополнительных задержек и понижению пропускной способности.
- В соответствии c современными реалиями и рекомендациями RFC 3390 до 10 сегментов увеличен начальный размер скользящего окна TCP, что позволит примерно на 10% повысить отзывчивость при выполнении таких операций, как открытие пользователем web-сайтов;
- Добавлена новая дисциплина планирования приоритетов, манипулирующая сразу несколькими очередями пакетов и поддерживающая вынос управления QoS на плечи сетевых адаптеров, поддерживающих данный вид акселерации;
- Память и системные сервисы
- Реализация техники трансцендентного управления памятью (" Transcendent memory"), позволяющей улучшить поведение системы при работе с не представляющими важность данными (например кэш) в условиях дефицита оперативной памяти. По сути Transcendent memory напоминает RAM-диск, имеющий ряд особенностей: размер RAM-диска не известен, запись данных не всегда может быть гарантирована и уже записанные данные могут быть очищены (удалены);
- Реализация таймера CLOCK_BOOTTIME, позволяющего организовать автоматический выход системы из спящего режима в определенное время;
- Добавление опции, заставляющей обработчики прерываний выполняться в виде нитей (threads);
- Реализована новая подсистема "media controller", расширяющая возможности V4L2 в плане работы с устройствами аппаратной акселерации обработки мультимедиа-контента;
- Последний компонент ядра избавлен(недоступная ссылка) от использования глобальной блокировки (Big Kernel Lock, BKL).
- Специальные привилегированные процессы теперь могут записывать данные в /proc/pid/mem других процессов;
- Дисковая подсистема, ввод/вывод и файловые системы
- Реализация новых системных вызовов name_to_handle и open_by_handle, позволяющих пользовательским приложениям сопоставить имя файла с внутренней структурой
file_handle или открыть файл, указав его handle. Нововведение может быть полезным для реализации серверов NFS и 9P на пользовательском уровне. Файловая система XFS уже поддерживает подобные механизмы, которые были реализованы через специализированные ioctl-вызовы FS_IOC_PATH_TO_HANDLE и XFS_IOC_OPEN_BY_HANDLE;
- Добавлен новый системный вызов syncfs(int fd), который работает как sync() за исключением того, что сброс буферов на постоянный носитель осуществляется только для файловой системы, отождествленной с указанным файловым дескриптором;
- Добавлена специализированная псевдо-файловая система "pstore", предназначенная для организации доступа к присутствующим на некоторых платформах хранилищам, позволяющим сохранить отладочную информацию о причине краха между перезагрузками;
- Добавлено специальное блочное устройство "mtdswap", позволяющее осуществлять своппинг напрямую в MTD-устройства (Memory Technology Devices), оперирующие с Flash-памятью;
- Проведена работа по повышению масштабируемости и производительности файловой системы Ext4 и подсистемы работы с блочными устройствами. Ext4 теперь по умолчанию монтируется с опцией mblk_io_submit, задействуя механизм Multiple Page-IO Submissions. Код по поддержке Multiple Page-IO Submission был добавлен ещё в 37 ветке, но содержал серьёзную ошибку, приводящую в определённых случаях к потере данных, и поэтому был отключён по умолчанию (сейчас данная ошибка исправлена). Также значительно обновлена документация по Ext4, добавлены разъяснения новых опций и обзор файлов в Procfs и Sysfs, создаваемых ФС;
- В файловой системе Btrfs реализована функция Batched Discard, позволяющая информировать SSD-накопители о неиспользуемых областях;
- Виртуализация и безопасность
- Интегрированы недостающие сетевые бэкенды(недоступная ссылка) (xen-netback), необходимые для работы Xen Dom0;
- В DRM-драйвер для Xen Dom0 добавлена поддержка менеджера памяти TTM (Translation Table Maps);
- В реализацию IPSec добавлена поддержка расширенных номеров последовательностей, определенных в RFC-4304;
- Начальная поддержка Linux capabilities в изолированных контейнерах "user namespace", что позволяет делегировать расширенные права (например, root-доступ) группе процессов, отождествленных с контейнером, которые могут быть использованы только внутри этой группы и не могут влиять на другие части системы. User namespace является своеобразной легковесной техникой виртуализации, при которой некоторые процессы могут быть отрезаны от остальной системы, работая в отдельном пространстве имен (необходимые для работы таких процессов ресурсы виртуально пробрасываются в контейнер);
- В KVM обеспечена поддержка асинхронной обработки обращения к невыделенным страницам памяти (page faults), что дает возможность выполнения в гостевой системе не связанной с выделением памяти нити во время выделения хост-системой запрошенных страниц памяти;
- Оборудование и аппаратные архитектуры
- Добавлена поддержка новой архитектуры UniCore-32, разработанной в микропроцессорном центре Пекинского университета. Процессоры на базе архитектуры UniCore-32 активно используются в Китае;
- Улучшения DRM/KMS-модулей:
- Поддержка метода Page Flipping и Z-сжатия (Z-compression) для видеодрайвера Nouveau.
- Реализация в DRM/KMS-драйвере Radeon поддержки карт Radeon HD 6900 "Cayman", а также поддержка тайлинга (tiling, процесс обработки изображения по частям с последующей раздельной обработкой фрагментов) для карт r6xx/r7xx.
- Включение в состав ядра прототипа драйвера для карт Intel GMA 500 Poulsbo, который пока не поддерживает функции акселерации.
- Добавление DRM-модуля для видеокарт с интерфейсом USB и USB2VGA-переходников на базе чипов DisplayLink, позволяющих подключить дополнительный монитор через USB-порт;
- Начало работы по унификации кода поддержки платформ m68k и m68knommu;
- Расширение поддержки оборудования, большинство изменений в ядре связаны с драйверами устройств:
- Cистемы: VIA/WonderMedia VT8500/WM85xx SoC, платы IMX27 IPCAM и смартбуки MX51 Genesi Efika, платы CompuLab, сенсоры платформы Intel Medfield и WMI-интерфейс ноутбуков Asus;
- Контроллеры блочных устройств: ARASAN CompactFlash PATA, Broadcom NetXtreme II FCoE и Freescale MXS Multimedia Card, кард-ридеры RealTek PCI-E;
- Сетевые адаптеры: WiFi чипы Realtek RTL8192CU и RTL8188CU, Blouetooth-контроллер Texas Instruments WiLink7, Bosch C_CAN, Faraday FTMAC100 10/100 Ethernet;
- USB-контроллеры: Faraday FUSB300, OMAP USBHS host, NVIDIA Tegra USB host, Diolan U2C-12 USB;
- Звуковые карты, подключаемые через Firewire. Кодеки: Wolfson Micro WM8991, Cirrus CS4271, Freescale SGTL5000, TI tlv320aic32x4, Maxim MAX9850. USB-карты TerraTec 6fire DMX.
- Video4Linux: ресиверы Technisat USB2.0 DVB-S/S2, сенсоры камер Silicionfile NOON010PC30 CIF, тюнеры DiBcom 9000, камеры 3com homeconnect "ViCam", демодуляторы ST Microelectronics STV0367, контроллеры камер на базе OMAP3 и Divio NW80x, инфракрасные приемники ITE Tech IT8712/IT8512;
- Улучшена поддержка процессоров Intel на базе архитектуры "SandyBridge";
- В USB-подсистему добавлена поддержка хабов USB 3.0;
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.