Релиз Linux-ядра 2.6.37Линус Торвальдс представил релиз Linux-ядра 2.6.37, в котором представлена поддержка механизма синхронизации TINY_PREEMPT_RCU, продолжена работа по избавлению ядра от глобальных блокировок, в состав включены дополнительные элементы для обеспечения поддержки Xen Dom0, активирован механизм нотификации об изменениях в файловой системе fanotify. В новую версию принято 12237 (в 2.6.36 было 10195) исправлений от 1456 (1326) разработчиков, размер патча - 67 Мб (добавлено 11139 тыс. строк кода, удалено - 11131 тыс. строк). Около 39% всех представленных в 2.6.37 изменений связаны с драйверами устройств, примерно 24% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 6% - файловыми системами и 5% c внутренними подсистемами ядра; Наиболее интересные новшества ядра 2.6.37: Виртуализация и безопасность Начальная поддержка хост-режима системы виртуализации Xen (Dom0). Для полноценной поддержки Dom0 в Linux-ядре теперь недостает только бэкенд-драйверов, которые планируется интегрировать в версию 2.6.38; В состав ядра включены Xen-драйверы privcmd и xen-pcifront. Добавлена поддержка Xen PCI, реализована возможность горячей замены паравиртуализированных PCI-устройств (Xen paravirtualised PCI hotplug); В KVM обеспечена возможность создания паравиртуализированных гостевых окружений на платформе PowerPC; В криптоподсистему добавлена поддержка интерфейса AEAD (Authenticated Encryption with Associated Data); Память и системные сервисы Поддержка сжатия методом LZO сбрасываемого на диск содержимого памяти при переходе в спящий режим; Окончательный уход от использования устаревшей глобальной BKL-блокировки (Big Kernel Lock), которая оставалась многие годы узким местом в некоторых подсистемах; TINY_PREEMPT_RCU - легковесный вариант механизма синхронизации RCU (Read-copy-update), позволяющего организовать одновременный доступ к данным без использования блокировок. TINY_PREEMPT_RCU отличается значительным уменьшением потребления памяти, но поддерживает только однопроцессорные системы; Объявлена устаревшей и отключена по умолчанию вторая версия иерархии объектов в служебной файловой системе sysfs; При выполнении "make xconfig" конфигуратор теперь по умолчанию использует библиотеку Qt4; Дисковая подсистема, ввод/вывод и файловые системы В libata добавлена поддержка секторов, размером более 512 байт (например, 4 Кб). Реализован класс ATA-транспорта. Добавлена поддержка LPM для разветвителей портов; Для файловой системы Ext4 добавлена функция "Lazy Inode Table Initialisation", созданная с целью значительного сокращения времени создания Ext4-разделов. Добавлена поддержка контроля за Ext4 через sysfs; В файловой системе XFS поддержка опции "-o delaylog" переведена в разряд стабильных. Опция предназначена для организации отложенной записи в лог в режиме журналирования, позволяя организовать накопление нескольких асинхронных транзакций в памяти, вместо их многократного сброса в лог. Использование отложенной записи позволяет заметно сократить число операций ввода/вывода, связанных с журналированием, и повысить производительность при интенсивных операциях с мета-данными; Fnotify, новый механизм уведомления приложений (например, антивирусных сканеров) об изменениях в файловой системе, идущего на смену системам inotify и dnotify (для данных систем обеспечен режим эмуляции, который работает поверх fanotify). Fanotify поддерживает отслеживание как активных событий (открытие, закрытие, чтение, запись и т.п.), так и выполнение пассивных операций, таких как открытие специального файлового дескриптора к отслеживаемому объекту, доступного только на чтение. В отличие от inotify и dnotify в новой системе устранены проблемы с масштабированием при контроле за большим числом объектов и обеспечена поддержка нотификации на основе блокировки и контроля доступа. Появилась поддержка опции "root=PARTUUID=hex-uuid", нацеленной на корректное определение блочных устройств с которых должно производиться монтирование корневого раздела, через указание UUID дискового раздела; В файловой системе OCFS2 (Oracle Cluster File System) добавлена поддержка монтирования дисковых разделов, размером более 16 Тб. Добавлена новая опция монтирования "coherency=*" для реализации обеспечения согласованности данных в кластере при режиме записи O_DIRECT. Добавлен ioctl OCFS2_IOC_INFO, позволяющий получить непривилегированному пользователю статистику о работе ФС; В реализацию файловой системы CIFS добавлена поддержка опций монтирования "mfsymlinks" и multiuser", а также возможность привязки к определенному локальному IP; В файловой системе NFS добавлена опция '-olocal_lock' для локального хранения локов; Сетевая подсистема Добавлена возможность конфигурирования подсетей как локальных адресов, например, для привязки всех адресов подсети 10.1.0.0/16 к интерфейсу eth0 (ответ будет получен при запросе любого адреса из данной подсети), необходимо выполнить "ip rule add from all iif eth0 lookup 200; ip route add local 10.1/16 dev lo proto kernel scope host src 127.0.0.1 table 200"; Поддержка программной эмуляции аппаратных механизмов акселерации VLAN. Поддержка 802.1q VLAN для Infiniband over Ethernet; Проведена большая работа по оптимизации работы на SMP-системах кода, связанного с маршрутизацией и работой драйверов; Приведены в соответствие с RFC 3390 и RFC 5681 параметры формирования начального размера скользящего окна TCP; В ядро интегрирован код проекта accel-pptp, который представляет собой высокопроизводительную реализацию сервера PPTP/PPPoE/L2TP и клиента PPTP, основанную на коде проектов poptop и pptpclient, но благодаря работе на уровне ядра, отличающуюся от poptop/pptpclient существенным ускорением работы и понижением нагрузки на CPU. В состав ядра включено два модуля: "pptp" (PPP over IPv4, Point-to-Point Tunneling Protocol) и "gre" (демультиплексор GRE-пакетов); Оборудование и аппаратные архитектуры В DRM-модуле i915 для видеокарт Intel реализована поддержка вывода звука через DisplayPort и HDMI порты, обеспечена поддержка GPU, встроенного в процессоры SandyBridge. Добавлен драйвер-заглушка для Intel GMA500 (Poulsbo). В Nouveau добавлена поддержка сенсоров, например, для слежения за температурой. В Radeon добавлена поддержка карт семейства Evergreen. В VIAFB добавлена начальная поддержка VX900; Драйвер uas с поддержкой протокола USB Attached SCSI Protocol (UASP) для устройств хранения с интерфейсом USB 3.0; В подсистеме ata добавлена поддержка Intel IDE-R, в ata_piix реализован режим LPM; Интегрирован драйвер для поддержки аппаратного акселератора AES-шифрования на платформах OMAP2/3; Новые драйверы для беспроводных устройств: Atheros AR9170 802.11n, ath6kl (Atheros AR6003), brcm80211 (Broadcom 802.11n), r8712u (RealTek RTL8712U/RTL8192SU), Beeceem USB Wimax, SBE 2T3E3. В драйвере ath5k добавлена поддержка виртуальных STA и AP; Драйверы для USB-устройств: Flarion OFDM, кард-ридеры ENE, Intel Langwell USB OTG Transceiver, UAS, Meywa-Denki & Kayac YUREX, Atmel SAM Boot Assistant (SAM-BA); Поддержка устройств ввода Apple Magic Trackpad; Драйверы для звуковых плат: Intel SST, Edirol DA-2496, Aztech Sound Galaxy, Traktor Kontrol S4, BOSS ME-25, USB3 SuperSpeed, поддержка звука в большом количестве новых ASoC.
Распечатано с HostDB.ru.
|