The OpenNET Project / Index page

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



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

Исходное сообщение
"Релиз ядра Linux 4.7"
Отправлено opennews, 25-Июл-16 01:18 
После двух месяцев разработки Линус Торвальдс  представил (https://lkml.org/lkml/2016/7/24/151) релиз ядра Linux 4.7 (https://kernel.org/). Среди наиболее заметных изменений: распараллеливание проверок содержимого директорий, более быстрый и точный механизм управления частотой CPU, поддержка механизма UEFI Capsule для организации обновления прошивок, серия значительных улучшения в средствах трассировки и отладки, поддержка виртуальных контроллеров USB-устройств в стеке USB/IP, возможность ограничения привязки загрузки модулей ядра только из одной ФС, поддержка разработанного для Android механизма sync_file.

В новую версию принято около 12 тысяч исправлений от примерно 1500 разработчиков, размер патча - 34 Мб (изменения затронули 9744 файлов, добавлено 493490 строк кода, удалено 194974 строк). Около 47% всех представленных в 4.7 изменений связаны с драйверами устройств, примерно 19% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 15% связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними подсистемами ядра.

Из наиболее интересных новшеств (http://kernelnewbies.org/Linux_4.7) ядра Linux 4.7 можно отметить:


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


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

-  Разработанный для платформы Android механизм sync_file (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... перемещён из экспериментальной секции staging в основное ядро. В отличие от традиционных барьеров на память (fences), напрямую привязываемых ядром к буферам и неподконтрольных из пространства пользователя, sync_file предоставляет API для обработки барьеров в пространстве пользователя, что значительно упрощает создание графических драйверов с компонентами в пространстве пользователя;

-  В  XFS добавлена возможность настраиваемой обработки ошибок для проблем, связанных с метаданными. Режим обработки ошибок по умолчанию изменён с "повторять попытки вечно"  на "повторять поптыки для отмонтирования при сбое";

-  В BTRFS для функуции renameat2 (http://man7.org/linux/man-pages/man2/rename.2.html) представлены операции RENAME_EXCHANGE для атомарного обмена путей и RENAME_WHITEOUT для использования в overlayfs. Добавлен новый  ioctl для удаления устройства по его идентификатору (devid);

-  В CEPH добавлена поддержка использования нескольких файловых систем (нескольких пространств имён в одном кластере);

-  В EXT4 добавлена возможность прерывания операции readdir() для больших пустых директорий;

-  В  NFS добавлена поддержка операции  COPY, определённой в спецификации  NFS v4.2, которая реализована через появившийся в ядре 4.5 системный вызов copy_file_range и позволят выполнить копирование без перемещения данных по сети с сервера к клиенту и возвращения от клиента на сервер;

        

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

-  В стек USB/IP (http://usbip.sourceforge.net/), позволяющий организовать (https://www.opennet.ru/tips/info/2189.shtml) доступ к удалённым USB-устройствам поверх сети TCP/IP, добавлена поддержка создания виртуальных контроллеров USB-устройств. Новая возможность позволяет не только  работать с реальными физическими USB-устройствами, но и пробрасывать виртуальные устройства. Например, можно реализовать эмулято смартфона, который будет выглядеть для рабочей окружения разработчика как обычный смартфон, подключенный по USB;

-  В состав принят предложенный компанией Airbus патч, добавляющий в сетевой стек поддержку первой версии протокола HSR (https://en.wikipedia.org/wiki/High-availability_Seamless_Red... (High-availability Seamless Redundancy), предназначенного для создания отказоустойчивых сетей Ethernet;

-  Проведена работа по оптимизации TCP-стека для сокращения задержек в процессе обработки большого числа пакетов;

-  Добавлена поддержка протокола  GTP-U (https://en.wikipedia.org/wiki/GPRS_Tunnelling_Protocol#GTP-U... для туннелирования GPRS;


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


-  В систему динамического управления частотой процессора (cpufreq) добавлен новый механизм регулирования частоты -  schedutil (https://lwn.net/Articles/682391/), в котором удалось добиться слаженной работы планировщика задач и средств управления питанием CPU. Schedutil отличается от ранее доступных регуляторов тем, что для принятия решения об изменении частоты он напрямую использует информацию от планировщика задач и может сразу обращаться к драйверам cpufreq для оперативного изменения частоты, мгновенно подгоняя параметры работы CPU к текущей нагрузке. Подобный подход позволяет избавиться от задержек при изменении частоты и сразу реагировать на изменение нагрузки. В ядро пока принята простейшая реализация schedutil, которую планируется расширить в следующих выпусках;
-  Поддержка (https://blogs.intel.com/evangelists/2015/06/23/better-firmwa... механизма UEFI Capsule, предоставляющем средства для передачи данных в прошивки EFI. После получения этих данных прошивка разбирает их и принимает решение по из дальнейшему использованию в зависимости от контекста. Наиболее частым  применением UEFI Capsule является передача нового образа прошивки для обновления до новой версии  при следующей загрузке. Запись данных осуществляется через устройство  /dev/efi_capsule_loader;

-  В ftrace (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... фреймворк для отслеживания вызова функций, добавлена команда "hist (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... предоставляющая средства для построения гистограмм событий путём агрегирования информации о наступающих событиях в форме ключ-значение. При помощи новой возможности можно формировать (http://www.brendangregg.com/blog/2016-06-08/linux-hist-trigg... произвольные сводные отчёты, например, узнать раскладку частоты выполнения системных вызовов или интенсивности чтения из файлов в разрезе выполняемых процессов;
-  В команду "perf trace" добавлена возможность вывода цепочек исполнения системных  вызовов из пространства пользователя. Например, командой "trace --call-graph dwarf --filter-pids {pid}" можно отследить (https://fedorapeople.org/~acme/perf/perf-trace--call-graph-d... обращения к системному вызову recvmsg(), произведённые из процесса gnome-shell;

-  Добавлен новый тип программ  BPF - BPF_PROG_TYPE_TRACEPOINT, которые можно прикреплять к точкам трассировки (tracepoint  - вариант  динамических printf(), выставляемых разработчиками программ для анализа поведения системы, к которым затем можно обращаться из LTTng, perf, SystemTap, ftrace). Таким образом, теперь можно собирать данные из точек трассировки и обрабатывать из в программе BPF, что является более быстрой альтернативой доступа к точкам трассировки через kprobes;

-  В /proc/PID/status добавлено новое поле, позволяющее узнать текущий  umask процесса;
-  В состав ядра добавлена (https://lwn.net/Articles/668126/) улучшенная реализация системы для определения состояния нехватки памяти в системе (OOM);


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


-  Добавлен новый LSM-модуль LoadPin (https://lwn.net/Articles/682302/), который позволяет гарантировать, что все з...

URL: https://lkml.org/lkml/2016/7/24/151
Новость: http://www.opennet.ru/opennews/art.shtml?num=44846

 

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



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

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