LINUX.ORG.RU

Релиз ядра Linux 3.11

 ,


0

1

Вышел релиз ядра Linux 3.11, релиз доступен на www.kernel.org. Новый релиз вышел после 2 месяцев разработки, ему присвоено кодовое имя «Linux for Workgroups», по аналогии с Windows 3.11 for Workgroups. Наиболее заметные улучшения в этом релизе: технология сжатого кэширования раздела подкачки Zswap; флаг O_TMPFILE для создания «невидимых» временных файлов; возможность упаковки ядра с использованием сжатия LZ4; экспериментальная поддержка кластерной файловой системы Lustre; спящий режим IRST; динамическое управление питанием GPU Radeon; NFS 4.2; применение SELinux для NFS; порт KVM и Xen для архитектуры ARM64.

Для включения в новую версию ядра принято 10.7 тысяч исправлений от 1239 разработчиков. Интересно распределение по числу изменений: 9.1% изменений внесено сотрудниками компании Intel, 8.5% - Red Hat, 8.3% - Linaro, 4.5% - Samsung, 3.9% - IBM, 3.0% - Texas Instruments, 2.9% - SUSE, 2.6% - AMD, 2.1% - Google, 1.3% - Oracle, 1.3% - ARM, 1.1% - Cisco. Около 43% всех представленных изменений связаны с драйверами устройств, примерно 23% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 11% связано с сетевым стеком, 5% - файловыми системами и 5% c внутренними подсистемами ядра.

Интересных новшеств много, наиболее значимые:

  • Дисковая подсистема, ввод/вывод и файловые системы
    • Включение в состав ядра клиента кластерной файловой системы Lustre, используемой в большинстве кластеров, входящих в список самых мощных суперкомпьютеров мира (6 из 10 и 60 из 100 самых мощных кластеров используют Lustre). Клиентская часть Lustre работает вкупе с серверами для хранения данных и обслуживания метаданных, предоставляя средства для обращения клиентов к хранимым в распределённой ФС данным (основанный на ext4 бэкенд ldiskfs для организации работы сервера хранения данных в ядро не включен). Модуль для работы клиента Lustre поставляется в экспериментальном разделе «staging» и не собирается по умолчанию;
    • В F2FS, развиваемую компанией Samsung высокопроизводительную файловую систему для Flash-накопителей, добавлена поддержка меток безопасности, что позволяет использовать данную ФС с LSM-модулями (Linux Security Modules), в частности даёт возможность использовать средства принудительного контроля доступа SELinux и SEAndroid. Кроме того, в F2FS реализована функция перемонтирования раздела (remount);
    • В Btrfs обеспечена техника слияния запросов ввода/вывода, ожидающих помещения в лог обратной записи, что позволило увеличить скорость записи в синхронном режиме до 60% (с 2.9MB/s до 4.6MB/s) на SCSI-дисках с включенной буферизацией. Прекращено использование структуры btrfs_sector_sum, что позволило заметно поднять производительность линейного копирования. Например выполнение теста утилитой dd на SSD-накопителе показало рост пропускной способности на 74% (с 31MB/s до 54MB/s). Добавлена поддержка клонирования данных файла в тот же файл, когда клонируемая и записываемая области не пересекаются (например, запись клона в хвост);
    • Интегрированы дополнительные оптимизации производительности для файловых систем Btrfs, XFS и Ext4. В Ext4 добавлена поддержка предварительного резервирования места под транзакции;
    • Предварительная поддержка находящегося в разработке стандарта NFS 4.2, в котором ведётся работа по увеличению эффективности потребления ресурсов, например копирование на стороне сервера, предварительное резервирование места, оптимизации для SSD-накопителей;
    • В модуль управления пропускной способностью ввода/вывода blk-throttle добавлена поддержка контроля ресурсов ввода-вывода с блочных устройств при помощи иерархических управляющих групп (cgroups). По умолчанию поддержка иерархических cgroups отключена, для включения следует использовать флаг «sane_behavior»;
    • В Device Mapper добавлен новый модуль «dm-switch» для создания устройства, позволяющего организовать произвольный мапинг регионов ввода/вывода привязанных к определённому набору путей, привязку которых к специфичным регионам можно менять динамически. Новый модуль нацелен на обработку усложнённых случаев маппинга (например, для распределённых хранилищ iSCSI), для которых не достаточно модуля «dm-stripe»;
    • В DM RAID добавлена возможность восстановления работы после временного сбоя накопителя. Если при возобновления работы после остановки (resume) диск помечен как сбойный, но суперблок читается, предпринимается попытка возвращения диска в RAID. Указанное изменение позволяет попытаться вернуть вылетевший из RAID диск простым выполнением операций suspend/resume вместо ручного переконфигурирования;
    • Проведения оптимизация производительности системного вызова sync, работа которого ускорена в 7-8 раз для активно используемых ФС;
    • Добавлена поддержка таблиц дисковых разделов AIX;
    • В файловую систему CIFS добавлена поддержка диалекта SMB3.02. Добавлена опция монтирования «nosharesock» для принудительного создания нового отдельного сокета для сервера (можно создать несколько независимых точек монтирования для разных пользователей). Поддержка верификации запросов SMB3 при помощи цифровых подписей AES-CMAC;
  • Виртуализация и безопасность
    • В системные вызовы open() и openat() добавлена поддержка флага O_TMPFILE, позволяющего передать файловой системе информацию о создании временного файла, не видимого в иерархии ФС, что позволяет применить для данного типа файлов отдельные оптимизации. Создаваемые при помощи O_TMPFILE временные файлы не имеют имени, в качестве пути передаётся только директория. Создание невидимого временного файла без имени позволяет разработчикам приложений не задумываться о возможных уязвимостях, таких, как атака через символические ссылки;
    • В коде Xen и KVM появилась поддержка виртуализации для архитектуры ARM64;
    • Реализация меток безопасности в NFS (Labeled NFS), позволяющих обеспечить полноценную поддержку SELinux для NFS. Ранее для точки монтирования привязывалась только метка, как правило nfs_t. Labeled NFS позволяет использовать произвольное число различных меток для каждого раздела NFS. Например, отдельную метку можно привязать к файлу с образом виртуальной машины, размещённом на NFS-разделе, можно экспортировать домашние директории через NFS с разграничением доступа приложений только в определённые области;
  • Сетевая подсистема
    • Режим опроса (polling) Ethernet-устройств с низкой задержкой (low latency). Современные устройства не информируют систему о получении каждого пакета через генерацию прерываний, вместо этого ядро периодически опрашивает драйвер и получает информацию о накопившихся пакетах. Подобный опрос приводит к появлению задержки в обработке пакетов. Новый режим позволяет приложениям запросить для отдельного сокета пониженный интервал опроса для обеспечения высокой отзывчивости (в частности, при создании сокета можно установить специальный флаг, после чего если при вызове функции read() нет данных для отдачи, то внепланово будет инициирован опрос драйвера);
    • В conntrack-модуле трекинга соединений для протокола FTP добавлена поддержка методов идентификации перехода в пассивный режим, отмеченных в RFC 1123;
  • Память и системные сервисы
    • Поддержка технологии сжатого кэширования раздела подкачки - Zswap. При необходимости выгрузки страниц памяти на диск, Zswap производит попытку сжать страницы, размещая их при этом в пуле в оперативной памяти. По мере возможности сжатые страницы не выгружаются на диск, чтобы избежать операций ввода/вывода с медленным носителем. Таким образом, при возникновении необходимости сброса памяти в раздел подкачки, удаётся добиться сокращения ввода-вывода, что повышает скорость работы системы в целом, за счет минимизации обращений к медленному носителю. Тестирование Zswap в процессе компиляции ядра при возникновении своппинга продемонстрировало выигрыш по объему ввода/вывода в 76% и сокращение времени выполнения операции на 53%;
    • Поддержка технологии IRST (Intel Rapid Start Technology), представляющей собой вариант реализации спящего режима, обеспечиваемого силами прошивки. В IRST вводится дополнительный таймаут, по истечении которого дамп памяти заснувшей в режиме Suspend-to-RAM системы принудительно сохраняется прошивкой на SSD-накопителе, после чего схемы обесточиваются. При включении устройства, прошивка копирует сохранённые данные в ОЗУ, после чего операционная система восстанавливает своё состояние как при использовании Suspend-to-RAM;
    • Реализована концепция энергоэффективных рабочих очередей внутри ядра. Помещаемые в данный тип очереди задания не привязываются к конкретному CPU и могут выполняться на любых свободных процессорных ядрах, не вызывая пробуждения «спящих» ядер, а используя ядра уже проснувшиеся для выполнения других заданий;
    • В ядро добавлены патчи, необходимые для реализации поддержки запуска в Wine приложений для Windows RT;
    • Для упаковки образов ядра добавлена возможность использования алгоритма сжатия LZ4, примечательного высокой скоростью упаковки и распаковки данных с сохранением приемлемой степени сжатия, соизмеримой с алгоритмом LZO;
    • Изменёно поведение при загрузке модулей ядра - загрузка модуля теперь не завершается ошибкой при указании неизвестных параметров. Подобные параметры игнорируются с выводом предупреждения в лог. Указанное изменение позволит обеспечить работу конфигураций после удаления поддержки тех или иных параметров модулей или при загрузке старой версии ядра;
    • Добавлен механизм для отслеживания в какие страницы памяти задача осуществляет запись. Указанная возможность востребована для работы системы заморозки процессов (checkpoint-restore), то также может использоваться для профилирования и сбора статистики;
    • Увеличение масштабируемости очередей сообщений SYSV IPC за счёт избавления кода от общей блокировки кода SYSV IPC, приостанавливающей выполнение в том числе таких операций, как проверка безопасности и прав доступа, что негативно сказывалось на производительности. Теперь в реализации очередей сообщений используется смесь блоков без блокировок, ограниченных критических областей, статистики через семафоры и кэшированных присвоений;
  • Аппаратные архитектуры
    • Для 32- и 64-разрядных архитектур ARM подготовлена улучшенная реализация технологий hugetlbfs и Transparent Huge Page, позволяющих увеличить базовый размер адресуемых страниц памяти до 2 Мб, что приводит к сокращению числа используемых TLB-блоков (Translation Lookaside Buffer) и расширению возможностей по задействованию выделенной, но неиспользуемой памяти;
  • Оборудование
    • Включение большой серии патчей, направленных на улучшение поддержки GPU семейства Radeon. В частности, реализованы средства динамического управления питанием и частотами GPU (для включения следует указать параметр radeon.dpm=1), обеспечено отключение тактовых сигналов для неиспользуемых в данный момент блоков GPU («clock gating»), добавлена возможность активного управления состоянием шины PCI-E (ASPM), при котором энергопотребление шины PCI-E может быть заметно снижено в режиме бездействия. Для Radeon серии HD7000 реализована поддержка PCI-E 2.0 и 3.0. Обеспечена поддержка GPU семейства HD8000 для которых реализована возможность установки видеорежимов, поддержка операций с 3D, вычислений на GPU и работы с UVD;
    • В DRM-модуле Nouveau появилась поддержка средств аппаратного декодирования видео в форматах MPEG2 и H.264 с использованием движка VP2 (PureVideo HD), присутствующего в сериях GPU NVIDIA c NV84 (GeForce 8600) по NV96 (GeForce 9400/9600/9700), а также в графических процессорах поддерживаемых NVA0 (GT 200);
    • В DRM-модуле Intel стабилизирована поддержка графической подсистемы на базе платформы Intel Bay Trail, созданной для новых Atom SoC. Улучшена поддержка Intel Haswell, в том числе задействована возможность использования FBC (Frame-Buffer Compression);
    • Добавлен драйвер для симулирования NFC-чипа. Реализована возможность использования SPI (Serial Peripheral Interface) в качестве транспорта для NCI (NFC Controller Interface), что позволяет вызывать модули SPI для чтения/записи данных контроллера NFC;
    • Добавлена поддержка новых процессоров: Freescale i.MX6 SoloLite, Freescale Vybrid VF610, Samsung EXYNOS5420, Rockchip RK2928 и RK3xxx processors, TI Nspire, STMicroelectronics STiH41x и STiH416;

>>> Список улучшений на kernelnewbies.org/Linux_3.11

★★★★★

Проверено: Shaman007 ()
Последнее исправление: ymn (всего исправлений: 4)

Очень хорошо. Особенно:

Включение большой серии патчей, направленных на улучшение поддержки GPU семейства Radeon.

И

Поддержка технологии сжатого кэширования раздела подкачки - Zswap.

И ещё немного чего.

aes_ultimum ★★
()
Ответ на: комментарий от it-nativa

Ну вот, а ты говорил не подтвердят ))

mbivanyuk ★★★★★
() автор топика

на наконец-то, а то я заждался уже... осталось совсем немного, дождаться когда оно в gentoo stable появится

menefis
()
Ответ на: комментарий от anonymous

А каков же вклад Каноникал в ядро?

Господин анонимус изволит шутить? Чтобы из ядра получилось второе unity?

mbivanyuk ★★★★★
() автор топика
Ответ на: комментарий от Behem0th

Засорение ядра неюзабельным драйвером - это полезное дело? И ладно бы ещё хоть понимали степень его неюзабельности, а то усердно пилят vdpau, opencl и прочую фигню, а базовую функциональность (3D и power management) тупо игнорируют, лол.

it-nativa
()
Ответ на: комментарий от it-nativa

Засорение ядра неюзабельным драйвером

Действительно, владельцы нормальных блобов устали его блеклистить.

Citramonum ★★★
()
Ответ на: комментарий от it-nativa

Засорение ядра неюзабельным драйвером

Ты собой лор засоряешь и ничего, а от нуво явно пользы больше чем от тебя.

И ладно бы ещё хоть понимали

Ну да один ты такой видишь истину.

power management

Давай знаток расскажи про «рёв вентилятора» на нуво без PM.

Behem0th ★★★★★
()
Ответ на: комментарий от mbivanyuk

Действительно этого красноглазого фанатика Марка лучше вообще не допускать до ядра.

anonymous
()
Ответ на: комментарий от cvs-255

ядро периодически опрашивает драйвер и получает информацию о накопившихся пакетах

Привет шестидесятым.

Вы очень не в теме. Погуглите на ЛОРе же device polling темы. Суть: сейчас приходит столько пакетов, что реакция по прерыванию адски просаживает производительность из-за задержек на переключение контекста. Ведь прерывается как правило user-space процесс.

atrus ★★★★★
()
Ответ на: комментарий от Behem0th

Ты собой лор засоряешь и ничего, а от нуво явно пользы больше чем от тебя.

Ну да один ты такой видишь истину.

Да ты не сердись, мальчег, ты по существу говори :)

Давай знаток расскажи про «рёв вентилятора» на нуво без PM.

А что рассказывать? Запускаю livecd с нуво - вентилятор ревёт. GeForce GTX560.

it-nativa
()
Ответ на: комментарий от cvs-255

Привет шестидесятым.

А шестидесятых не было даже 10 мбит. Посчитай, сколько прерываний в секунду сгенерирует карта, принимающая на полных 10Гбит/с пакеты по 1.5кб каждый, если она будет генерировать прерывание на каждый пакет.

Aceler ★★★★★
()
Ответ на: комментарий от anonymous

А остальные изменения... барабанная дробь... внесла Каноникал! :)

Размечтался красноглазый! =)))

Freiheits-Sender ★★
()
Ответ на: комментарий от it-nativa

Да ты не сердись, мальчег, ты по существу говори :)

Я тебе девочка и говорю: ты биомусор.

А что рассказывать?

Сказки свои.

Behem0th ★★★★★
()
Ответ на: комментарий от mbivanyuk

но делать уникальность 100% - на целый день работы

В данном случае — минут 30-40, максимум час.

Gotf ★★★
()
Ответ на: комментарий от anonymous

А остальные изменения... барабанная дробь... внесла Каноникал! :)

что за люди... вынь да положь им изменения от каноникал. а так же от генты, слаки, и... (напряженная тишина в зале)... тадаммм!!! изменения от арча :D

abtm
()

а есть ли смысл обновлять ядро?

darkenshvein ★★★★★
()
Ответ на: комментарий от stevejobs

как ты заведешь систему в самый первый раз без драйвера видео?

Исправлено:

Как ты заведешь систему в самый первый раз мало того что без драйвера видео, так еще и с препятствующим установке этого драйвера невыгружаемым косячным огрызком?

Вот где настоящая проблема.

Citramonum ★★★
()
Ответ на: комментарий от it-nativa

В DRM-модуле Nouveau появилась поддержка средств аппаратного декодирования видео

А эти клоуны вообще думают появить нормальное 3D и управление питанием?

а ты писать багрепорт будешь ?

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от abtm

Ну конструкторы для болезных хоть не исповедуют идеологию воруй/убивай, а Каноникал неилюзорно хочет вырвать кусок пирога из рук Новелл и Ред Хат.

anonymous
()
Ответ на: комментарий от darkenshvein

да норм пахнет, я на атоме щас в кантр старйк кандишен зероу через wine с 14 ботами на нюке играл, 20fps! а на арчике такого небыло!

eR ★★★★★
()
Ответ на: комментарий от carasin

В глубине души я вообще считаю, что nouveau не нужен. Он работает только наполовину и никогда не будет допилен, и вообще странно, что ребята из nvidia не прижали бедного разработчика в темном углу :D Ради фана - очень здорово, пользы даже больше, чем от ReactOS, но если говорить о будущем - нужно ли это сообществу, когда у AMD есть такой замечательный открытый драйвер, а Intel медленно, но уверенно наращивает мощность своих GPU? У nvidia скоро возникнут серьезные проблемы, если все будет продолжаться в том же духе - им нужно что-то делать.

ArtKun ★★★★★
()
Последнее исправление: ArtKun (всего исправлений: 1)

Поддержка технологии сжатого кэширования раздела подкачки - Zswap

как это работает с гибернацией?

Добавлен механизм для отслеживания в какие страницы памяти задача осуществляет запись. Указанная возможность востребована для работы системы заморозки процессов (checkpoint-restore), то также может использоваться для профилирования и сбора статистики;

недавно была очень нужна такая функция при дебаге хотблоков через заmmap()ленный файл. как оно называется и где почитать?

val-amart ★★★★★
()
Ответ на: комментарий от i_gnatenko_brain

Если на такие очевидные вещи нужно писать репорты, я сомневаюсь, что эти люди вообще смогут родить что-то вразумительное.

it-nativa
()
Ответ на: комментарий от anonymous

Ну конструкторы для болезных хоть не исповедуют идеологию воруй/убивай, а Каноникал неилюзорно хочет вырвать кусок пирога из рук Новелл и Ред Хат.

да ладно. занимаются в тихую популяризацией линя, что ж в этом плохого?

abtm
()
Ответ на: комментарий от eR

да норм пахнет, я на атоме щас в кантр старйк кандишен зероу через wine с 14 ботами на нюке играл, 20fps! а на арчике такого небыло!

вроде нативный в статусе беты уже в стиме есть

abtm
()
Ответ на: комментарий от anonymous

А кроме него это никому и не нужно было. Ддя кого тут эта ппостыня с подробностями? Кто интересуется ядром, тот чейдждлоги читает.

Мне это интересно читать тут.

andreyu ★★★★★
()
Ответ на: комментарий от itdyatel

Нормальный драйвер для Linux - это открытый драйвер :)
А блоб может работать бесконечно нормально - с ним все равно всегда будут сложности при установке и удалении. Как бы объяснить нвидии, что она скоро будет абсолютно ненужна, если можно дешевле купить какой-нибудь Radeon, воткнуть в материнку и работать/играть дальше, безо всяких манипуляций?

ArtKun ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.