The OpenNET Project / Index page

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



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

Исходное сообщение
"Релиз ядра Linux 4.8"
Отправлено opennews, 03-Окт-16 08:15 
После двух месяцев разработки Линус Торвальдс  представил (https://lkml.org/lkml/2016/10/2/102) релиз ядра Linux 4.8 (https://kernel.org/). Среди наиболее заметных изменений: поддержка плагинов GCC в системе сборки, возможность запуска в контейнерах кода для других архитектур, интеграция механизма защиты PAX_USERCOPY, поддержка алгоритма контроля перегрузки TCP "New Vegas", увеличение производительности беспроводного стека, новый генератор псевдослучайных чисел.


В новую версию принято более 13 тысяч  исправлений от примерно 1500 разработчиков,
размер патча - 41 Мб (изменения затронули 11303 файлов, добавлено 627751 строк кода, удалено 278958 строк). Около 39% всех представленных в 4.8
изменений связаны с драйверами устройств, примерно 21% изменений имеют
отношение к обновлению кода специфичного для аппаратных архитектур, 12%
связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними
подсистемами ядра.


Основные новшества (http://kernelnewbies.org/Linux_4.8):


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

-  В  dm-raid (https://www.kernel.org/doc/Documentation/device-mapper/dm-ra... добавлена поддержка добавления дополнительных накопителей в RAID-массив (reshaping) и изменения уровня RAID;
-  Возможность экспортирования по сети устройств хранения с интерфейсом NVM Express, используя протоколы, подобные RDMA;
-  В подсистему device-mapper добавлена поддержка применения механизма DAX для прямого доступа к низкоуровневым устройствам постоянной памяти;
-  В распределённую файловую систему OrangeFS (https://www.opennet.ru/opennews/art.shtml?num=44113) (продолжение развития PVFS) добавлена возможность задействования кэша на базе dcache и кэша атрибутов на стороне ядра, что заметно ускоряет выполнение операций с мелкими файлами. Например, сборка coreutils без кэшиования занимает 17 минут, а с кэшем - 6 минут 20 секунд;

-  В ФС Ceph добавлена полная поддержка пространств имён RADOS (http://tracker.ceph.com/projects/ceph/wiki/Rados_namespaces)... Autonomic Distributed Object Store).
-  Поддержка технологии "transparent huge pages" в tmpfs, позволяющая оперировать страницами памяти большого размера;

-  В файловую систему XFS добавлена поддержка механизма обратного маппинга (rmap, reverse-mapping), позволяющего файловой системе определить владельца любого блока на устройстве хранения. В настоящее время практическая польза от reverse-mapping не видна, но в будущем данный механизм послужит основой для реализации таких возможностей, как reflink(), режим copy-on-write для данных, дедупликация, расширенные средстава информирования о bad-блоках и дополнительные возможности для восстановления повреждений;

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

-  В TCP-стек добавлена поддержка алгоритма контроля перегрузки "New Vegas (https://docs.google.com/document/d/1o-53jbO_xH-m9g2YCgjaf5bK... который является модернизированным вариантом алгоритма Vegas и также оперирует задержками в доставке пакетов вместо потери пакетов. Новый алгоритм оптимизирован для использования в крупных высокоскоростных сетях и ЦОД с каналами связи в 10 гигабит и выше;

-  В подсистеме mac80211 ("WiFi") вместо предоставляемых сетевым стеком дисциплин обработки очередей ожидающих отправки пакетов задействован алгоритм CoDel (Сontrolled Delay - управляемая задержка), который позволил существенно поднять производительность работы в беспроводных сетях;

-  Протокол RDS (Reliable Datagram Sockets), позволяющий создавать сокеты для надёжной передачи датаграмм поверх TCP-линков, расширен возможностью передачи сразу через несколько соединений TCP, что позволило (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... добиться существенного увеличения максимальной производительности;

-  Сетевым драйверам предоставлена возможность загрузки BPF-программ для предварительной обработки входящих пакетов, до их помещения во внутренние структуры данных. Указанную возможность можно применять, например, для отбрасывания, изменения или перенаправления пакетов на ранней стадии их обработки, что позволяет увеличить производительность данных операций за счёт обхода вызова обработчиков ядра;

-  Добавлен драйвер с программной реализаций RDMA поверх Ethernet, позволяющий использовать протоколы InfiniBand Remote DMA с обычным сетевым стеком ядра;

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


-  Представлен новый механизм обновления таблиц ACPI из прошивок или через configfs;

-  Для подсистемы GPIO представлен новый ABI пространства пользователя для управления линиями ввода/вывода общего назначения. ABI основан на применении символьного устройства и заменяет сбой давно устаревший интерфейс на базе sysfs;

-  Для архитектуры ARM64 добавлена возможность использования механизма kexec, позволяющего загрузить новый экземпляр ядра из уже работающего ядра Linux;

-  Представлен новый параметр командной строки printk.devkmsg, который может быть использован для управления отправкой данных в лог ядра из пространства пользователя через /dev/kmsg.  Значение off отключает отправку из пространства пользователя, а числовое значение устанавливает лимит на интенсивность отправки данных;

-  Новая внутренняя подсистема обработки таймаутов, появление которой направлено на решение проблем с отзывчивостью (latency);

-  Добавлен фреймворк HDMI CEC (Consumer Electronics Control) позволяющий унифицировать управление устройствами, подключенными через HDMI, и управлять ими с одного пульта;

-  В систему сборки добавлена возможность (http://lwn.net/Articles/691102/) использования плагинов GCC. Например, уже реализована поддержка плагинов для тестирования покрытия кода (coverage testing) и вычисления цикломатической сложности (https://ru.wikipedia.org/wiki/%D0%A6%D0%...

-  Представлена новая система для форматирования документации к ядру, основанная на использовании Sphinx (http://www.sphinx-doc.org/);


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

-  Усиление (http://lwn.net/Articles/695991/) защиты операций копирования данных между ядром и пространством пользователя. В ядро включён вариант порта технологии  PAX_USERCOPY, разработанной проектом grsecurity и добавляющей дополнительные проверки используемых при копировании диапазонов адресов для предотвращения обращения к областям памяти ядра вне границ буфера, выделенного для копирования;

-  Поддержка (https://lwn.net/Articles/679308/) контейнеров с эмуляцией архитектуры, позволяющих запускать в изолированном контейнере код, собранный для  аппаратных архитектур, отличных от архитектуры хост-системы;


-  Генератор псевдослучайных чисел заменён на новую реализацию (https://lwn.net/Articles/686033/), основанную на использовании потокового шифра ChaCha20  и включающую наработку по решению проблем с масштабируемостью в условиях когда программам в пространстве пользователями требуются большие объёмы случайных чисел;

-  Для архитектуры x86_64 включена поддержка рандомизации адресного пространства ядра. Расширено число типов регионов памяти ядра для которых применяется рандомизация. В SLUB memory allocator добавлена рандомизация списков свободных областей;


-  В подсистему  crypto добавлен новый механизм согласования ключей (Key-agreement Protocol Primitives API - KPP), который может быть использован для реализации протоколов обмена ключами, таких как DH и ECDH;

-   Для IPv6 добавлена поддержка стандарта CALIPSO (Common Architecture Label IPv6 Security Option), который может быть использован для прикрепления связанных с безопасностью меток к пакетам, которые затем могут быть связаны с  политиками SELinux и Smack;

-  В загружаемых модулях ядра обеспечена возможность использования портированного из  grsecurity механизма защиты __ro_after_init (post-init read-onl...

URL: https://lkml.org/lkml/2016/10/2/102
Новость: http://www.opennet.ru/opennews/art.shtml?num=45264

 

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



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

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