Релиз Linux-ядра 2.6.39
Опубликовано 19 Май 2011 11:30:47
Линус Торвальдс анонсировал релиз Linux-ядра 2.6.39, в состав которого включен код ipset, добавлен планировщик потока пакетов CHOKe, обеспечена поддержка архитектуры UniCore-32, добавлена новая подсистема "media controller", интегрированы сетевые бэкенды Xen ("netback"). Нынешний релиз был выпущен с трудом, Линус намеревался выпустить еще одну тестовую версию (rc8) для окончательной проверки всех внесенных после выпуска rc7 изменений, которых оказалось достаточно много. Так как Линус должен посетить конференцию LinuxCon в Японии, выпуск еще одной тестовой версии означал бы срыв всех планов и перенос релиза как минимум на три недели, поэтому посоветовавшись разработчики приняли решение выпустить релиз как есть с учетом того, что последние тестовые выпуски зарекомендовали себя, как достаточно стабильные.
Источник: http://www.opennet.ru/opennews/art.shtml?num=30603
В новую версию принято 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;
Источник: http://www.opennet.ru/opennews/art.shtml?num=30603
|
0 | Tweet | Нравится |
|