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)

Ответ на: комментарий от leg0las

зачем игры, когда есть линакс

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

Нет. Там он вовсе не используется. Там идет взаимодействие напрямую с видухой (по идее жрет батарею больше), но имеются плюшки в виде vdpau и полноценного 3D сразу и без костылей. Пруф.

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

Разве вы не сами об этом сказали? :)

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

Человек любит развлекаться в одиночестве, чё пристал

anonymous
()

спящий режим IRST

Что это?

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

Эм... Я в курсе, что в R319 такую «фичу» запилили, но это не Optimus. Да и заводится не у всех почему-то. Также становится неясно, как при таком раскладе регулировать яркость подсветки. Но настоящего Optimus'а с offloading'ом в этом случае не получается, увы.

В общем, пока только bumblebee :( А эта зараза в случае глюка сносит системные линки на libGL и GLX, а потом приходится переустанавливать соответствующие пакеты. Также эта зараза не всегда отключает дискретку после прекращения своей работы. В общем, костыль как он есть.

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

Ты злостное 4.2 написал, как можно оспорить например то что ветер течет аки вода? А андройд это и есть линукс.

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

Да, это не оптимус. Но оно работает. Но nvidia что-то в ядро коммитила для реализации dma-buf, так что ждем.

А на счет бамблби согласен. Хотя недавно ковырял синкпад с дебианом - он завелся (вместо virtualgl примус, в бэкпортсах уже есть).

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

Нет исходя и вашего предложения, как не крути знаками а андроид все равно не линукс. мне очень жаль :(

П.С.: да ладно я не против этой ос сам ее юзаю

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

в федоре всё всегда разморожено, и даже не тухнет, но пахнет почему то плохо.

Просто оно разжёвано и переварено уже...

KennyMinigun ★★★★★
()

Столько всяких изменений и нововведений, и ни слова про VIA...

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

Да, ещё вроде в 3.10 сделали надстройку PRIME над DMA_BUF, чтобы блобы могли юзать это API. А по поводу bumblebee — да, оно легко заводится. Но есть одно «но»: если зависает программа, запущенная в Wine'е через bumblebee, а вместе с ней лочится и X-сессия, то после перезапуска X'ов теряется ускорение на Intel'е из-за того, что слетают описанные выше линки на GL-либы.

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

покаталась бабка, да вызвала такси, и быстрее получилось же!

anonymous
()
Ответ на: 3.11 in F20 от eR

Оно уже собранное для F20 и для Rawhide'а в koji есть. Я, например, как раз от F20 на F19 ставлю — пересобирать в лом, и так работает.

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

Жесть. А с какого перепугу они теряются без запуска спец. тулз, занимающихся конфигурированием линка на libGL.so.1?

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

Да, с такими-то руками только и остаётся, что сразу на кладбище своим ходом.

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

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

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

Сам bumblebee и занимается подменой линков. А обратно их не меняет в случае сбоя. Intel не видит своих либ, а YUM говорит что-то типа «file is too short», приходится пакеты переустанавливать, чтобы ошибок пакетного менеджера не было.

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

А, понял. А запилить скрипт, в случае сбоя нереально? Ведь при переустановке пакетов в нашем случае важно скорее не сама переустановка, а отрабатываемые сценарии пакетом.

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

Зачем доказывать то что нельзя
Хочу видеть gcc на андроиде иначе это не линукс и точка:)

[Злость]
Технически это линукс. Но когда я на своем ВМ5 мог писать на С/С++ !!!И!!! компилировать это !!!ПРЯМО!!! на ВМ5, а андроид свободная ос ЛИНУКС требует жабу, где пару лейбелов занимают 20Мб РАМ а на устройстве доступно все го то 100 для юзания - это типо слабое бюджетное устройство?. На моем старом ХП с ВМ5 тоже самое ПО я мог написать для консоли и оно займет пару килобайт РАМ (на шарпе чуть больше но не 20 мб!), а памяти там было 64 на все про все, то-есть для юзера 32 мах и я не чувствовал, что мне чего-то не хватало...
[/Злость]

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

Зачем доказывать то что нельзя

Что нельзя?

Хочу видеть gcc на андроиде иначе это не линукс и точка:)

Это зависит от радиуса твоих рук и только.

[Злость][/Злость]

Половину не распарсил, но ты таки написал:

Технически это линукс.

Так что ума не приложу, зачем ты сам себе противоречишь? :) Ты наверное тролль?

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

Это рабочий ноутбук, я им пользуюсь не так уж часто, а bumblebee использую на нём — и вовсе редко, так что пофиг.

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

12309 — число, вызывающее лютый ужас у отдельных особо везучих особей линуксоидов :)

могу заспорить, что я вызову 12309 без танцов и бубна^W^W^W использования запрещённых приёмов^W^W свапа на любой машине с линуксом. Хотя парадокс, вин не подавала ни единого признака, хотя у знакомого на компе, та же вин люто тупила от дисковых операций, прямо как у меня линукс.

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

На ондроиде лютое 12309. Ставишь прожку из маркета - всё и/о отмирает временами, и только после установки становится возможном юзать его дальше. Хотя, на некотором железе это не так выразительно, может даже не заметно. Это НЕ нормально. Вангую какие-то глобальные блокировки И/О на прерываниях. Т.к. в unix и линукс в частности все завязано на И/О, то при лютом 12309 даже залогиниться не выходит, такое ощущение что отмирает весь Input/Output.

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

Но когда я на своем ВМ5 мог писать на С/С++ !!!И!!! компилировать это !!!ПРЯМО!!! на ВМ5

Я и щас так делаю, на «андроид девайсе». Правда, андроида там нету :)

vova7890 ★★★
()

ему присвоено кодовое имя «Linux for Workgroups», по аналогии с Windows 3.11 for Workgroups

Linux XP, Linux Vista,...

А так годное обновление, да

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

могу заспорить, что я вызову 12309 без танцов и бубна^W^W^W использования запрещённых приёмов^W^W свапа на любой машине с линуксом.

Поговорку про дурь и перелом мужского достоинства помните?

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

Ты прав, юнити, наверно самое лучшее DE под линукс, не то что вырвиглазие гнома и кде.

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

Поговорку про дурь и перелом мужского достоинства помните?

Интенсивные дисковые операции вдруг стали дурью?

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

Это ли не забота хостовой системы, которая собсна по командам от нфс читает, пишет, сама кешировать умеет...?

shimon ★★★★★
()
Последнее исправление: shimon (всего исправлений: 1)
Ответ на: комментарий от vova7890

Наши методы это когда баги закрывают на нас глаза.

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

Вот же-ж, понабродились тут! Видишь ли, используют носители для хранения данных! Дураки! Нужно же в раме хранить!

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