Релиз Linux-ядра 2.6.34
17 мая 2010 года
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Wikinews-logo-ru.svg/300px-Wikinews-logo-ru.svg.png)
Линус Торвальдс представил релиз Linux ядра 2.6.34, в которое принято 10167 исправлений от 1305 разработчиков, размер патча - 39 Мб (добавлено 621 тыс. строк кода, удалено - 290 тыс. строк). Около 42% всех представленных в 2.6.34 изменений связаны с драйверами устройств, примерно 27% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 7% - файловыми системами и 6% c внутренними подсистемами ядра.
Основные новшества:
- Дисковая подсистема, ввод/вывод и файловые системы
- Интегрирован код файловой системы Ceph, способной поддерживать работу хранилища объемом в несколько петабайт (1 Пб = 1024 Тб), распределенного по тысячам машин. Встроенные в Ceph механизмы репликации данных (данные разбиваются на блоки и несколько раз дублируются на разных машинах) обеспечивают чрезвычайно высокую живучесть системы. При добавлении или удалении новых узлов, массив данных автоматически ребалансируется с учетом изменения конфигурации. В Ceph имеется поддержка снапшотов, причем снапшот может быть создан не только для ФC, но и для отдельных директорий. В отличии от таких файловых систем, как GFS, OCFS2, и GPFS, в Ceph обработка данных и метаданных разделена на различные группы узлов в кластере. Ceph может работать поверх блочных устройств, внутри одного файла или через размещение данных в существующих ФС (например, XFS).
- В состав ядра принят код файловой системы LogFS, специально спроектированной для использования на Flash-накопителях. В LogFS интегрирован механизм минимизации повторной перезаписи блоков, поддерживается журналирование и сжатие данных на лету. Дерево элементов файловой системы в LogFS хранится в Ext2 подобном виде, что позволило избавиться от двух главных проблем файловой системы JFFS2 - повышенного расхода памяти и длительного времени монтирования. В отличие от LogFS, в JFFS2 служебная информация записывается только в форме лога, что приводит к необходимости сканирования данных для воссоздания структуры ФС при каждом монтировании и к хранению всей структуры ФС в оперативной памяти в процессе работы (линейная зависимость от объема данных).
- Значительное обновление кода файловой системы Btrfs: Для тонкой настройки ФС добавлена пользовательская утилита "btrfs". Расширены возможности по работе с подразделами и снапшотами, которые теперь можно назначать для монтирования по умолчанию (например, можно установить все обновления дистрибутива или провести эксперимент в отдельном снапшоте, а затем мгновенно переключиться на обновленный образ корневой ФС, а если возникнут проблемы - вернуться обратно). Для более точного соответствия реальной ситуации изменен метод расчета свободного места, которым оперирует утилита df. В defrag-код добавлена поддержка сжатия файлов при необходимости или дефрагментации только диапазонов байт в файле.
- В реализацию файловой системы FAT добавлена поддержка больших дисков (более 2 Тб) c размером сектора 4096 байт;
- В код файловой системы Squashfs интегрирована поддержка сжатия методами LZMA и LZO;
- Сетевая подсистема
- Реализована поддержка механизма GTSM ( RFC 5082, Generalized TTL Security Mechanism), позволяющая производить легковесные проверки пакетов для выявления DoS-атак на маршрутизаторы, оперирующих наводненим фиктивными BGP-пакетами. Для подтверждения факта отправки пакета близлежащим узлом в сети, напрямую присоединенного BGP-линка, в GTSM используется поле Time to Live (TTL) (IPv4) или Hop Limit (IPv6).
- Добавлена поддержка RFC 3069 (private VLAN proxy arp);
- Добавлен tap-драйвер macvtap, базирующийся на mac-vlan;
- В nf_conntrack_sip добавлена поддержка TCP и протокола передачи факсов T.38;
- Память и системные сервисы
- Реализована поддержка выполнения в асинхронном режиме операций для перехода в спящий режим и возврата из него, что позволяет значительно ускорить засыпание и просыпание системы за счет параллелизации перевода в спящий режим PCI, USB и SCSI драйверов;
- Повышена эффективность работы Kprobes, путем замены где это возможно точек останова на jump-переходы. Kprobes позволяет при разработке модулей ядра динамически выводить отладочную информацию без модификации исходных текстов, пересборки и перезапуска исследуемого объекта;
- Продолжено расширение возможностей отладочной подсистемы Performance Events: в утилиту "perf" (tools/perf) добавлена команда perf lock для просмотра статистики блокировок; появилась возможность проведения кроссплатформенного анализа данных, сохраненных на системе с другой архитектурой; добавлена команда "perf buildid-cache" для настройки параметров внутреннего кэша; добавлены средства для написания скриптов на языке Python для обработки трассировочных данных.
- Добавлена возможность выполнения lockdep-подобных проверок при использовании механизма синхронизации RCU (Read-copy-update), позволяющего организовать одновременный доступ к данным без использования блокировок. Новая возможность позволяет избавиться от ручных операций при проверке корректности работы RCU;
- Во фреймворк TOMOYO, позволяющий привязать политику безопасности процесса к файловому пути, способом похожим с AppArmor, добавлен встроенный сборщик мусора;
- Оборудование и аппаратные архитектуры
- Добавлена возможность смены на лету активного графического процессора для ноутбуков, снабженных несколькими GPU (мощный, но энергоемкий, и малопроизводительный с низким потреблением энергии). Несмотря на то что ядро теперь поддерживает смену GPU на лету, X-сервер все еще требует перезагрузки.
- В DRM-модуль Radeon (Direct Rendering Manager) добавлена начальная поддержка карт "Radeon Evergreen" (Radeon HD 5xxx). Модуль может быть использован совместно с драйвером xf86-video-ati, но пока не поддерживает акселерацию. В модуле Nouveau представлен новый API для взаимодействия с драйвером, работающим на уровне пользователя;
- В состав ядра включен улучшенный драйвер udlfb, который дает возможность задействовать в Linux видеокарты с интерфейсом USB и USB2VGA-переходники на базе чипов DisplayLink, позволяющих подключить дополнительный монитор через USB-порт;
- Добавлена поддержка PATA-контроллера VIA VX900 и чипов VT6415 PCIE;
- Добавлена поддержка сетевых плат: Intel 82599 Virtual Function Ethernet, Chelsio T4 gigabit и 10Gb Ethernet, Qlogic CNA, Aeroflex Gaisler 10/100/1G Ethernet, Micrel KSZ8841/2 PCI Ethernet, SMSC LAN75xx USB gigabit Ethernet, Atheros AR8152/AR8152/AR2427.
- Виртуализация.
- В комплект добавлен balloon-драйвер, разработанный компанией VMWare и позволяющий гипервизору виртуализированной гостевой операционной системы динамически ограничивать объём доступной оперативной памяти. При возникновении нехватки памяти, когда гипервизор обнаруживает, что ему нужно перегруппировать страницы в памяти, он инструктирует драйвер для того, чтобы тот выделил некоторое количество страниц, и физическая память была возвращена гипервизору. Позднее гипервизор, присоединяя кадровые страницы к памяти, может вернуть память гостевой ОС и проинструктировать драйвер, чтобы тот "раздул баллон".
- В состав интегрирован код vhost-net, акселератора сетевых функций KVM на уровне ядра, позволяющего оптимизировать производительность сетевых операций в гостевых окружениях за счет выноса на уровень ядра всех операции по преобразованию файловых дексрипторов, снижения операций по переключению контекста и минимизации числа обращений к системным вызовам (при обработка каждого пакета производится на 4 системных вызова меньше). Тестирование показало, что использование vhost-net позволяет без модификации кода гостевых систем увеличить отзывчивость в 5 раз и довести пропускную способность сети до уровня систем не использующих виртуализацию.
- Добавлена начальная поддержка эмуляции гипервизора HYPER-V.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.