The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз ядра Linux 4.14"
Отправлено opennews, 12-Ноя-17 23:33 
После двух месяцев разработки Линус Торвальдс представил (https://lkml.org/lkml/2017/11/12/123) релиз ядра Linux 4.14 (https://www.kernel.org/).


Основные (http://kernelnewbies.org/Linux_4.14) новшества (https://lwn.net/Articles/733846/):


-  
Дисковая подсистема, ввод/вывод и файловые системы


-  Проведена большая работа по увеличению производительности подсистемы дисковых квот. Производительность создания файлов при включенных квотах в ext4 возросла примерно в два раза;

-  В сетевой файловой системе CIFS добавлена поддержка чтения и записи расширенных атрибутов с использованием протокола SMB3;

-  В Btrfs добавлена (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... поддержка алгоритма сжатия zstd (https://www.opennet.ru/opennews/art.shtml?num=45058), который может рассматриваться как оптимальный компромисс, между быстрым но неэффективым lz4 и медленным но хорошо сжимающим xz. По сравнению с zlib/Deflate, zstd демонстрирует в 3-5 раз более высокую скорость сжатия и в два раза более быструю распаковку, при уровне сжатия выше на 10-15%.

-  Добавлен новый флаг IOCB_NOWAIT, при установке которого асинхронные операции буферизированного блочного ввода/вывода выполняются по возможности как в неблокирующем режиме (например, без флага IOCB_NOWAIT могут блокироваться операции управления памятью);


-  
Виртуализация и безопасность

-  Добавлена поддержка шифрования отдельных страниц памяти при помощи представленной в процессорах AMD технологии SME (http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/... (Secure Memory Encryption). SME позволяет пометить страницы памяти как подлежащие шифрованию, после чего данные страницы будут автоматически зашифрованы при записи в DRAM и расшифрованы при чтении из DRAM;
-  Из-за невостребованности и отсутствия сопровождающего удалён код системы виртуализации lguest (http://lguest.ozlabs.org/), позволяющей загружать ядра Linux как пользовательский процесс;

-  Добавлена возможность использования file capabilities (http://man7.org/linux/man-pages/man7/capabilities.7.html) в пространстве имён идентификаторов пользователя (user namespaces), что позволяет обойтись одним расширенным атрибутом security.capability для любого файла;

-  Расширен перенесённый из патчей grsecurity плагин к GCC для рандомизации раскладки структур данных, который на этапе сборки делает непредсказуемым следование полей в структурах и затрудняет проведение атак, базирующихся на знании раскладки структур в ядре. Плагин теперь дополнительно автоматически выполняет перегруппировку элементов структур, состоящих целиком из указателей на функции;


-  
Сетевая подсистема

-  Реализована возможность отправки данных в сетевой сокет в режиме zero-copy (https://netdevconf.org/2.1/papers/netdev.pdf)  (вызов send с флагом MSG_ZEROCOPY), позволяющем организовать передачу данных по сети без промежуточной буферизации;

-  
Память и системные сервисы

-  Добавлена система раскрутки стека ORC unwinder (https://lwn.net/Articles/728339/), позволяющая повысить надёжность  трассировки стека в процессе отладки крахов ядра и увеличить качество анализа стека в момент применения live-патчей на предмет влияния подмены функции на выполняемые в текущий момент процессы. Выполнение раскрутки стека, т.е. определения цепочки вызовов, которые привели к текущему состоянию, является нетривиальной задачей в ядре, так как кроме вызова Си-функций приходится учитывать такие нюансы как вызовы из кода на ассемблере, прерывания и trap-исключения процессора;

-  В cgroup добавлен (https://lwn.net/Articles/729215/) режим гибкого управления потоками процесса (cgroup.type threaded), в дополнение к ранее применяемой группировки всех потоков одного процесса и управления этой группой как единым целым. В режиме cgroup.type потоки одного процесса не обязаны входить в одну группу и могут быть разнесены по разным группам, но все из этих групп должны быть с типом threaded и размещаться в одной иерархии cgroup;

-  В подсистему RDMA (http://en.wikipedia.org/wiki/Remote_direct_memory_access), предоставляющую похожие на DMA возможности для организации прямого доступа к памяти другого компьютера, добавлен новый API для использования из пространства пользователя через ioctl();

-  В системный вызов membarrier(), обеспечивающий установку барьеров на память для всех работающих в системе потоков, добавлен режим MEMBARRIER_CMD_SHARED_EXPEDITED, позволяющий значительно ускорить выполнение вызова ценой применения IPI (https://en.wikipedia.org/wiki/Inter-processor_interrupt) (inter-processor interrupt);

-  В системный вызов  madvise(), предоставляющий средства для оптимизации управления памятью процесса, добавлена опция MADV_WIPEONFORK, при которой после выполнении fork() указанный регион памяти будет получен дочерним процессов в обнулённом виде;

-  Для архитектуры x86 реализована поддержка пятиуровневых таблиц страниц памяти, позволяющих управлять до 128 Пб виртуального адресного пространства на системах с 5 Пб физической памяти;

-  В системе динамического управления частотой процессора (cpufreq) появилась (https://lwn.net/Articles/732740/) возможность раздельного управления каждым CPU, что позволяет улучшить управление питанием и повысить отзывчивость при изменениях нагрузки;

-  Продолжена  оптимизация процесса вытеснения в раздел подкачки больших страниц памяти (Transparent Huge-Pages). Обеспечено откладывание разбиения больших страниц на маленькие до момента фактической записи в раздел подкачки или чтения из него, что позволило поднять пропускную способность вывода в раздел подкачки на 42% за счёт уменьшения конфликтов блокировок;

-  Добавлена поддержка подсистемы Heterogeneous memory management (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... (HMM), позволяющей использовать устройства с собственными блоками управления памятью (MMU, memory management unit), которые могут получать доступ к основной памяти. Например, при помощи HMM можно организовать совместное адресное пространство между GPU и CPU, в котором GPU может получить доступ к основной памяти процесса;

-  
Оборудование

-  В DRM-драйвере (Direct Rendering Manager) Nouveau добавлены (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... средства для управления видеорежимами для GPU GP108  (GeForce GT 1030)
-  В DRM-драйвере AMDGPU продолжена реализация поддержки GPU Radeon RX Vega.
-  В DRM-драйвер для GPU Intel продолжена реализация поддержки грядущих процессоров на базе микроархитектуры Intel Cannonlake.

-  Поддержка звуковых кодеков Realtek RT274, Wolfson Microelectronics WM8524 и Cirrus Logic CS43130;

-  Поддержка  USB-контроллеров Atheros ath10k и Ralink USB PHY;
-  Добавлен драйвер "rtlwifi" для беспроводных карт на базе чипов Realtek RTL8822BE (802.11ac);

-  Поддержка встроенных в CPU Allwinner и Freescale i.MX генераторов псевдослучайных чисел, а также  средств ускорения криптографии по эллиптическим кривым в чипах Microchip и Atmel;
-  Поддержка Ethernet-контроллеров Hisilicon HNS3,  Rockchip, Marvell CP110 и Adaptrum Anarion GMAC, а также беспроводных адаптеров Realtek RTL8822BE;

-  Подсистема драйверов IRDA (поддержка инфракрасного порта) перемещена в ветку staging с целью дальнейшего удаления из ядра (драйвер на уровне ядра не востребован, так как все приложения используют реализацию (http://www.lirc.org/) в пространстве пользователя);

-  Из основного ядра в репозиторий linux-firmware вынесен набор прошивок, ранее поставляемых в каталоге "firmware/". По сути, решено объединить в одном месте разрозненные прошивки, часть которых поставлялась в архиве с ядром, а часть в пакете linux-firmware. Набор прошивок в ядре продолжал ...

URL: https://lkml.org/lkml/2017/11/12/123
Новость: https://www.opennet.ru/opennews/art.shtml?num=47513

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру