The OpenNET Project / Index page

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



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

Исходное сообщение
"Intel представил сокращённый вариант сетевого стека для Linux"
Отправлено opennews, 07-Май-14 14:28 
Разработчик из компании Intel представил (https://lkml.org/lkml/2014/5/5/686) для обсуждения и рецензирования в списке рассылки разработчиков ядра Linux упрощённую реализацию (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... сетевого стека, рассчитанную на использование на маломощных встраиваемых системах. Разработка выполнена в процессе экспериментов по запуску Linux на системах с небольшим объёмом оперативной и постоянной памяти, таких как платы на базе процессоров Intel Quark (http://en.wikipedia.org/wiki/Intel_Quark), в которых может поставляться 2-4 Мб памяти.


В текущем виде, включение в сборку сетевого IPv4-стека Linux приводит к увеличению размера примерно на 400 Кб, что ставит крест на использовании традиционного стека на системах с 2 Мб памяти. Применение легковесного сетевого стека LWIP (http://lwip.wikia.com/wiki/LwIP_Wiki), работающего в пространстве пользователя, приводит к увеличению потребности в памяти каждого связанного с ним приложения примерно на 100 Кб. По мнению разработчиков, штатный сетевой стек ядра Linux сам по себе достаточно компактный, но раздувается из-за большого числа поддерживаемых функций.


Главная идея разработчиков из Intel связана с предоставлением возможности сборки урезанной версии сетевого стека, содержащей только минимально необходимую функциональность. Многие из расширенных возможностей штатного сетевого стека Linux востребованы только на серверных системах и могут быть удалены  без негативного влияния на работу клиентских приложений. Такой урезанный стек может успешно конкурировать с LWIP.


Так как применение ifdef для исключения каждой порции излишнего кода отмечено как очень трудоёмкая задача, при создании патча разработчики Intel активно полагаются на использование техники оптимизации на этапе связывания (LTO). Основные ссылки на вызов опциональных компонентов экранируются через ifdef, а весь оставшийся без вызова используемый код чистится силами компилятора. Для некоторых возможностей, которые невозможно просто удалить, созданы упрощённые аналоги. В итоге, применение подготовленного патча с включением LTO-оптимизаций позволило сократить размер полнофункционального сетевого стека до 170 Кб.


Планируется подготовить три опции сборки:


-  Урезанный универсальный стек;
-  Подмножество стека для работы клиентских приложений. Из стека будет удалена (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... поддержка таких возможностей, как fastopen (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... XPS (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... и GRO offload (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... сокращен (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... размер всех hash-таблиц, задействованы (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... упрощённые таблицы маршрутизации, прекращено (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... использование mmap, прекращено накопление TCP-метрик (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... и статистики для SNMP (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g...

-  Максимально урезанный стек для встраиваемых систем, требующий запуска специально адаптированных приложений. При включении данной опции будет удалена поддержка rtnetlink (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... (оставлен только ioctl),  ethtool (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... LPF-фильтров (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... raw-сокетов (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g... и ping-сокетов (https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.g....


URL: https://lkml.org/lkml/2014/5/5/686
Новость: http://www.opennet.ru/opennews/art.shtml?num=39721

 

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



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

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