| |
Разработчик из компании Intel представил для обсуждения и рецензирования в списке рассылки разработчиков ядра Linux упрощённую реализацию сетевого стека, рассчитанную на использование на маломощных встраиваемых системах. Разработка выполнена в процессе экспериментов по запуску Linux на системах с небольшим объёмом оперативной и постоянной памяти, таких как платы на базе процессоров Intel Quark, в которых может поставляться 2-4 Мб памяти.
В текущем виде, включение в сборку сетевого IPv4-стека Linux приводит к увеличению размера примерно на 400 Кб, что ставит крест на использовании традиционного стека на системах с 2 Мб памяти. Применение легковесного сетевого стека LWIP, работающего в пространстве пользователя, приводит к увеличению потребности в памяти каждого связанного с ним приложения примерно на 100 Кб. По мнению разработчиков, штатный сетевой стек ядра Linux сам по себе достаточно компактный, но раздувается из-за большого числа поддерживаемых функций.
Главная идея разработчиков из Intel связана с предоставлением возможности сборки урезанной версии сетевого стека, содержащей только минимально необходимую функциональность. Многие из расширенных возможностей штатного сетевого стека Linux востребованы только на серверных системах и могут быть удалены без негативного влияния на работу клиентских приложений. Такой урезанный стек может успешно конкурировать с LWIP.
Так как применение ifdef для исключения каждой порции излишнего кода отмечено как очень трудоёмкая задача, при создании патча разработчики Intel активно полагаются на использование техники оптимизации на этапе связывания (LTO). Основные ссылки на вызов опциональных компонентов экранируются через ifdef, а весь оставшийся без вызова используемый код чистится силами компилятора. Для некоторых возможностей, которые невозможно просто удалить, созданы упрощённые аналоги. В итоге, применение подготовленного патча с включением LTO-оптимизаций позволило сократить размер полнофункционального сетевого стека до 170 Кб.
Планируется подготовить три опции сборки:
- Урезанный универсальный стек;
- Подмножество стека для работы клиентских приложений. Из стека будет удалена поддержка таких возможностей, как fastopen, ping-сокетов, RPX, XPS и GRO offload, сокращен размер всех hash-таблиц, задействованы упрощённые таблицы маршрутизации, прекращено использование mmap, прекращено накопление TCP-метрик и статистики для SNMP;
- Максимально урезанный стек для встраиваемых систем, требующий запуска специально адаптированных приложений. При включении данной опции будет удалена поддержка rtnetlink (оставлен только ioctl), ethtool, LPF-фильтров и raw-сокетов.
|
|
- Главная ссылка к новости (https://lkml.org/lkml/2014/5/5/686...)
| Тип: Интересно / К сведению | Ключевые слова: linux, kernel, tcpip, stack, (найти похожие документы) | При перепечатке указание ссылки на opennet.ru обязательно | Реклама |
id=adv>
| |
|
2.11, Савраска, 15:15, 07/05/2014 [^] [ответить] [смотреть все] [к модератору]
| +1 +/– |
Хм, а стОит ли экономить на памяти (ну добавьте ещё пару-тройку метров), и при этом рубать шашкой сетевой стек направо и налево. Чревато ведь. А то наклепают стотыщ мильонов копеечных девайсов, из них 99,9% без возможности обновления прошивки. А потом - упс, мы ж там в пару десятках мест, оказывается, за стек повылазили, и у нас теперь ботнеты из кофемолок, умных лампочек и гаражных ворот.
| | | 3.14, клоун, 15:24, 07/05/2014 [ ^] [ ответить] [ смотреть все] [ к модератору]
| –1 +/– |
Да чё мелочиться, давай уж тогда везде Core_i7 и Unity ставить. Ну чтоб наверняка. И обновлять i7 до i9 чтобы гаражные ворота продолжали открываться и не тормозили. Это же так необходимо подключиться к воротам по VNC и пинговать kernel.org.
| | |
1.2, клоун, 14:36, 07/05/2014 [ответить] [смотреть все] [к модератору] –9 +/–Подведу итоги - сетевой стек Линукс 400 кб - упрощённый сетевой стек Линукс 170... весь текст скрыт [ показать]
1.4, Аноним, 14:44, 07/05/2014 [ответить] [смотреть все] [к модератору] +/–Да уже отклонили ее, два дня как Ты б написал об этом в новости ... весь текст скрыт [ показать]
2.8, Аннонн, 15:02, 07/05/2014 [^] [ответить] [смотреть все] [к модератору] +1 +/–
Зачем Wireshark на встроенной железке?
1.7, Аноним, 14:54, 07/05/2014 [ответить] [смотреть все] [к модератору] –10 +/–ПСССССССССССССССССССССССССССССССССССССССССССССССССССССС ПРРРРРРРРРРРРРРРРРРРРРРР... весь текст скрыт [ показать]
1.12, Аноним, 15:19, 07/05/2014 [ответить] [смотреть все] [к модератору] –2 +/–а если ещё ядро собрать, не с жирнейшей bclib, или такой же ebclib, а с компактн... весь текст скрыт [ показать]
1.16, Добрый Дохтур, 16:19, 07/05/2014 [ответить] [смотреть все] [к модератору] +/–
О,дааа... там шоу:
Andi Kleen:
Multiple receive queues are not needed on small systems, so allow disabling them.
David Miller:
I'm really totally, and completely, convinced that you wrote this entire patch series with your brain turned off.
I'm not applying any patch in this series Andi, come back when you have something specific and small and reasonable to discuss, rather than this huge patch bomb of total and complete crap.
Andi Kleen: Make TCP metrics optional
This is all the code that saves connection information between different sockets. Not really essential for small systems. Saves about 5.5k text
David Miller:
It is absolutely essential unless you want poor performance of TCP connections.
I'm not applying this.
|
2.18, клоун, 16:35, 07/05/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
Энди: я тут написал, зацените.
Давид: я в натуре считаю, что ты писал это в полной отключке. Эту твою фигню я никогда не приму, Энди. Топай отсюда и возвращайся когда у тебя будет что-то стоящее и достойное моего внимания, а не мусор и дерьмо, которые ты называешь программным кодом.
Энди: этот код написан специально для небольших систем. Я отключил то, что было ненужно, и сократил размер.
Давид: да пошёл ты!! Совершенно необходимо чтобы производительность TCP не снижалась ни на йоту. Иначе я не принимаю.
Шоу? Вам нравится наблюдать как оскорбляют других? На Торвальдса подпишитесь, его рассылка почти целиком из таких "шуток" состоит.
| | |
1.17, Пиу, 16:23, 07/05/2014 [ответить] [смотреть все] [к модератору] +/–
давно пора!
Ваш комментарий
Read more |