1. Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.
    Если у вас возникли проблемы с регистрацией на форуме - то вы можете сообщить об этом с помощью этой формы без авторизации,администрация форума обязательно отреагирует на вашу проблему.
    Скрыть объявление

Релиз ядра Linux 4.11

Тема в разделе "Прочие новости", создана пользователем Candellmans, 1 май 2017.

  1. Candellmans

    Candellmans Активный пользователь

    Сообщения:
    534
    Симпатии:
    868
    После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 4.11. Среди наиболее заметных изменений: поддержка журналирования в программном RAID 4/5/6, новый тип сокетов SMC-R, встроенная реализация SipHash, системный вызов statx(), поддержка протокола Opal для работы самошифруемыми накопителями, раздельные буферы с историей прокрутки для консолей.

    В новую версию принято около 12 тысяч исправлений от 1500 разработчиков, размер патча - 39 Мб (изменения затронули 12479 файлов, добавлено 530154 строк кода, удалено 232358 строк). Около 48% всех представленных в 4.11 изменений связаны с драйверами устройств, примерно 20% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 4% - файловыми системами и 5% c внутренними подсистемами ядра.

    Основные новшества:

    • Дисковая подсистема, ввод/вывод и файловые системы
      • В реализации RAID 4/5/6 на базе подсистемы MD появилась поддержка журналирования, защищающая от потери данных в случае пропадании питания или краха. Реализация подготовлена компанией Facebook. Журнал ведётся на отдельном носителе (SSD или NVRAM). Все данные вначале отражаются в журнале, после чего разносятся по дискам, входящим в RAID-массив. В ситуации неожиданного отключения питания, даже если RAID находился в деградированном состоянии или данные были записаны лишь на часть дисков, повреждений удастся избежать, так как вся информация о транзакции отражена в журнале;
      • Для файловой системы ext4 реализована новая ioctl-команда EXT4_IOC_SHUTDOWN, которая позволяет убедиться, что раздел остановлен и нет необходимости в сбросе данных, остающихся в оперативной памяти. Возможность подготовлена по аналогии с командой XFS_IOC_GOINGDOWN;
      • В файловой системе CIFS реализована поддержка шифрованного доступа к разделам с использованием протокола SMB3;
      • В многоуровневой системе очередей (multiqueue), рассчитанной на организацию многопоточного доступа к данным на многоядерных системах, появилась поддержка подключения планировщиков ввода/вывода. В настоящее время для multiqueue пока портирован только планировщик deadline, ведётся портирование планировщика ввода/вывода BFQ, который ожидается в ядре 4.12;
      • Добавлена возможность работы с накопителями, соответствующими спецификации Opal, которая определяет механизм шифрования хранимых данных, позволяющий не допустить утечку информации в случае попадания носителя информации не в те руки. Поддержка Opal добавлена только для поддерживающих данную технологию NVME-контроллеров. Пользователям предоставлены команды для настройки, блокирования при переходе в спящий режим и разблокирования SED-накопителей (Self-Encrypting Drives);
      • В F2FS, развиваемой компанией Samsung высокопроизводительной файловой системе для Flash-накопителей, включена по умолчанию опция inline_xattr, обеспечивающеая inline-хранение в inode атрибутов xattr. Для отключения предложена опция монтирования "noinline_xattr". Добавлен отдельный поток для асинхронного выполнения команд "discard";
      • В OverlayFS обеспечена поддержка многопоточного копирования содержимого обычных файлов (ранее операции копирования выполнялись последовательно, что было узким местом в производительности);
      • Отключена поддержка NFSv4 по UDP, которая была в неработоспособном виде и расходилась со спецификацией. Также по умолчанию отключены метки безопасности для NFS (для активации при экспорте следует явно указывать security_label), так как данная возможность имеет смысл только при установке на сервере и клиенте похожих правил SELinux;
    • Виртуализация и безопасность
      • Для использования с ядром портирован GCC-плагин structleak, разработанный проектом Grsecurity и выполняющим принудительную инициализацию структур, передаваемых в пространство пользователя для блокирования возможных утечек информации;
      • В ядро встроена реализация алгоритма SipHash, предоставляющего более безопасный и быстрый метод хэширования;
      • В Xen добавлена поддержка загрузки гостевых систем в режиме PVH, комбинирующем элементы режимов паравиртуализации (PV) для ввода/вывода, обработки прерываний, организации загрузки и взаимодействия с оборудованием, с применением полной виртуализации (HVM) для ограничения привилегированных инструкций, изоляции системных вызовов и виртуализации таблиц страниц памяти;
      • Для KVM реализован драйвер PTP, позволяющий получить доступ из гостевой системы к часам реального времени хост-системы, что даёт возможность использовать Chrony для высокоточной синхронизации часов хоста и гостевой системы;
      • Добавлен интерфейс /sys/kernel/security/lsm, через который можно узнать список активных LSM-модулей;
      • Добавлена реализация алгоритма шифрвоания AES, обеспечивающая фиксированное время выполнения для защиты от атак, пытающихся определить характер данных на основе изменения времени обработки операции;
      • Реализация генератора псевдослучайных чисел переведена с хэширования MD5 на использование безопасного и быстрого алгоритма поточного шифра ChaCha20 при формировании энтропии для целочисленного вывода get_random_int и get_random_long;
      • Добавлен sysctl для загрузки правил AppArmor непривилегированным пользователем для нового namespace;
    • Сетевая подсистема
      • Реализован новый тип сокетов "SMC-R" (Shared Memory Communications over RDMA, RFC-7609), предназначенный для организации похожих на TCP каналов связи поверх транспорта RDMA (Remote Direct Memory Access). Протокол разработан компанией IBM и позволяет без внесения изменений (загрузив библиотеку через LD_PRELOAD) адаптировать уже написанные для TCP приложения для работы в сетях RoCE (RDMA over Converged Ethernet);
      • Добавлен модуль "psample" для выборки сетевых пакетов, проходящих через сетевой интерфейс, для дальнейшего отсеивания фильтром-классификатором;
      • В сетевой подсистеме теперь применяется SipHash вместо MD5 для генерации номеров последовательности и вместо SHA1 для syncookies;
      • В TCP-стеке включён по умолчанию механизм определения потери пакетов RACK, который в отличие от штатного метода определения факта потери пакета, отталкивается от времени передачи, а не последовательности прихода пакетов. Суть работы RACK в том, что при получении ACK-подтверждения для пакета, любые неподтверждённые пакеты, отправленные как минимум на RTT (round-trip time) раньше подтверждённого пакета, считаются потерянными и потребуют повторной отправки. Новый алгоритм уже протестирован в инфраструктуре Google и предложен для утверждения в качестве стандарта IETF (draft-ietf-tcpm-rack-01);
      • Для TCP-сокетов добавлена новая опция TCP_FASTOPEN_CONNECT, которую можно использовать в качестве альтернативного метода включения режима Fast Open на стороне клиента;
      • Параметры tcp_max_syn_backlog, tcp_tw_recycle и tcp_max_tw_buckets теперь могут раздельно выставляться для разных пространств имён;
      • Добавлен драйвер "ipvtap" для создания сетевых интерфейсов Ipvlan, для управления которыми можно применять инструменты, рассчитанные на работу с устройствами TAP;
    • Память и системные сервисы
      • Добавлен системный вызов statx() с реализацией более эффективного и функционального варианта stat(), возвращающего расширенную информацию о файле, включая время создания файла и специфичные для файловых систем флаги;
      • Реализованы раздельные буферы прокрутки для VGA-консолей. Ранее для всех консолей применялся один общий буфер прокрутки, что приводило к очистке всей не вмещающейся на экран истории после переключения на другую консоль. После внесения изменения просмотр истории прокрутки стал похож на работу с историей в tmux и screen. По умолчанию возможность отключена, так как наблюдаются проблемы с совместимостью с утилитами (например, clear_console), завязанными на очистку буфера после каждой смены консоли. Для включения следует передать при загрузке параметр "vgacon.scrollback_persistent=1" или собрать ядро с опцией "VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT=y";
      • Проведена существенная оптимизация системы подкачки (swap), изначально рассчитанная на работу с дисковыми накопителями. Подкачка теперь адаптирована для работы с носителями SSD, отличающимися очень низким постоянным временем доступа;
      • Инструментарий perf теперь может быть собран с использованием компилятора Clang;
      • Добавлена реализация команды "perf ftrace", предоставляющая основанный на perf интерфейс для фреймворка отслеживания вызова функций (ftrace);
      • Добавлена возможность использования технологии разгона процессоров Turbo Boost Max 3.0 на системах без поддержки HWP (Hardware P-States). Turbo Boost Max позволяюет увеличить производительность однопоточных приложений за счёт завышения тактовой частоты, при удержании допустимых границ мощности и температуры;
      • Модуль для обеспечения сжатия LZ4 заменён на новую реализацию, демонстрирующей более высокую производительность;
      • Из-за проблем с безопасностью удалена поддержка механизма /proc/timer_stats, предоставляющего статистику о работе таймера, которая приводит к утечке информации о процессе;
      • Для устройств PCI Express добавлена поддержка дополнительных режимов энергосбережения ASPM L1, определённых в спецификции PCIe 3.1, что позволяет добиться перехода на более глубокие уровни сна;
      • Реализована поддержка средств управления энергопотреблением APST (Autonomous Power State Transitions), которые позволяют на 20-30% снизить потребление энергии SSD-накопителями на базе технологии NVE. Поддержка APST пока не включена по умолчанию, так как для некоторых накопителей наблюдаются проблемы со стабильностью;
    • Оборудование
      • В DRM-драйвер (Direct Rendering Manager) Nouveau интегрирована начальная реализация системы регулирования энергопотребления (power budget). Переработана поддержка режима, обеспечивающего загрузку заверенных цифровой подписью блобов с прошивками NVIDIA, которые требуются для активации средств 3D-ускорения в Maxwell (GeForce-1000) и более новых GPU. Необходимы прошивки уже добавлены в набор linux-firmware, но работа пока не доведена до конца, поэтому поддержка использования подобных прошивок появится только в ядре 4.12;
      • В драйвере AMDGPU появилась предварительная поддержка технологии виртуализация ввода-вывода SR-IOV (Single Root Input/Output Virtualization), поддерживаемой в профессиональных картах FirePro. Добавлены PCI-идентификаторы для чипов POLARIS12;
      • В драйвер для GPU Intel добавлены PCI-идентификаторы видеоподсистемы ещё не поступившей в продажу SoC Gemini Lake (GLK), идущей на смену Apollo Lake. Включено сжатие фреймбуфера для чипов gen9 и новее. Реализована возможность загрузки HuC-прошивок, содержащих компоненты для обеспечения кодирования видео. Добавлена поддержка вывода звука через DP MST (DisplayPort Multi-Stream Transport). Добавлен интерфейс на базе подсистемы perf для сбора метрик о производительности драйвера i915. Представлены новые sysctl dev.i915.oa_max_sample_rate и dev.i915.perf_stream_paranoid. Для систем на базе Baytrail и Cherrytrail включенаподдержка режима вывода звука HDMI LPE, если не определён контроллер HDaudio;
      • Добавлена подсистема TinyDRM, предоставляющая компоненты для упрощения разработки драйверов для простых LCD-дисплеев, которые подключаются через медленные шины, такие как SPI и MIPI-DBI;
      • Добавлена поддержка графической подсистемы и контроллера управления памятью SoC Aspeed AST2500;
      • Добавлена поддержка звукового кодека Realtek ALC1220, применяемого на многих материнских платах AMD Ryzen и Intel Kaby Lake (Core-i 7xxx), а также кодеков Nuvoton NAU85L40, Allwinner SUN8I и интерфейса Intel HDMI LPE;
      • Добавлена поддержка новых ARM-плат, включая Banana Pi M64, HiSilicon Kirin960/Hi3660/HiKey960, SolidRun MACCHIATOBin, Broadcom BCM958712DxXMC NorthStar2, NXP LS1012a, а также систем на баз Allwinner H2+ и V3;
      • Добавлен новый звуковой драейвер и V4L2-драйвер камеры для SoC BCM2835 (используется в Raspberry Pi).
    Дополнение: Латиноамериканский Фонд свободного ПО оперативно сформировал вариант полностью свободного ядра 4.11 - Linux-libre 4.11-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В новом выпуске очищен от блобов код для поддержки криптоакселераторов Cavium, а также драйверы для GPU Rockchip, Ethernet-контроллеров Netronome NFP 4000/6000 и сенсорных экранов Silead. В список расширений, в которых могут поставляться блобы, добавлены ".out" и ".nffw". Обновлён код чистки блобов в драйверах для GPU AMD и Intel, в загрузчике прошивок Qualcomm, кодеках Chips&Media, беспроводных драйверах Atheros ath10k, wil6210 и Intel iwlwifi, в звуковых драйверах для Intel Skylake.
    OpenNews: Релиз ядра Linux 4.11
     
    Кирилл, orderman и Phoenix нравится это.
Загрузка...

Поделиться этой страницей