URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 139219
[ Назад ]
Исходное сообщение
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено opennews , 12-Фев-26 16:15
В кодовую базу, на основе которой формируется ядро Linux 7.0, принят набор изменений, при проведении стресс-тестирования в 100-гигабитной сети позволивших повысить производительность обработки входящих UDP-пакетов на 12%. Оптимизация реализована путём ручного инлайнинга 2 функций. Отмечается, что функция timecounter_cyc2time() может вызываться на каждый входящий пакет, поскольку современные протоколы требуют учёта времени поступления пакета. Из-за этого на нагруженном сервере функция timecounter_cyc2time() может вызываться более 100 млн раз в секунду...Подробнее: https://www.opennet.me/opennews/art.shtml?num=64783
Содержание
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:15 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:17 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Bnm, 19:35 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,kravich, 16:19 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:34 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Rev, 16:23 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Совершенно другой аноним, 16:33 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:45 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Я, 17:05 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,localhostadmin, 17:11 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Вася Пупкин, 16:53 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Рулона Боева, 17:00 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,ананим.orig, 17:25 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,анон, 18:11 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Rev, 17:36 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Совершенно другой аноним, 17:47 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,___, 17:48 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 18:03 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:34 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,12yoexpert, 16:38 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:40 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,12yoexpert, 16:43 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:47 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:48 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,12yoexpert, 16:55 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 18:44 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 19:39 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 17:34 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 18:46 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 18:24 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,timur.davletshin, 16:39 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:41 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 16:52 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним83, 19:07 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 17:03 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Cyber100, 17:43 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,12yoexpert, 17:59 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним, 18:00 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Фамилия, 19:15 , 12-Фев-26
- В ядре Linux на 12% ускорена обработка входящих UDP-пакетов,Аноним83, 19:06 , 12-Фев-26
Сообщения в этом обсуждении
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:15
> такие как FDO (Feedback Directed Optimization), LTO (Link Time Optimization) и PGO (Profile Guided Optimization)А разве PGO и FDO это не одно и то же?
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:17
WireGuard станет ещё быстрее!>при проведении стресс-тестирования в 100-гигабитной сети
Ой, мимо. В реальном тырнетике не станет.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Bnm , 12-Фев-26 19:35
Наверно улучшится, если сервер на линуксе будет отдавать сайты быстрее
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено kravich , 12-Фев-26 16:19
Как приятно читать такие новости в наши темные времена десктопного софта на базе веб-технологий и нормализации практики вайбкодинга...
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:34
Тебе сейчас напишут, что им ИИшечка такие места сразу пишет правильно... а вот диды...
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Rev , 12-Фев-26 16:23
То есть до сих пор обработка была ЗАМЕДЛЕНА на 12%?А в Си нет директивы инлайнинга?
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Совершенно другой аноним , 12-Фев-26 16:33
> А в Си нет директивы инлайнинга?для соответствующих функций она и была установлена.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:45
Только сейчас.
До этого код был замедлен на 12%Возможно программистам-предшественникам было просто класть на производительность.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Я , 12-Фев-26 17:05
Может, у них просто 100Гбит не было?
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено localhostadmin , 12-Фев-26 17:11
> современные протоколы требуют учёта времени поступления пакетаТогда это не имело смысла
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Вася Пупкин , 12-Фев-26 16:53
почему это нельзя делать везде по умолчанию? как это сделано в расте
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Рулона Боева , 12-Фев-26 17:00
Потому что инлайнинг функций — это всегда компромисс между экономией инструкций на ее вызов (условно убираем push/call/pop) и итоговым размером объектных файлов, так как тело функции будет дублироваться в каждой функции, которая вызывает встраиваемую.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено ананим.orig , 12-Фев-26 17:25
А если в коде будет ошибка, то она размножится соответствующее количество раз.
И пока её обнаружат фронт атак тоже увеличится.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено анон , 12-Фев-26 18:11
> А если в коде будет ошибка, то она размножится соответствующее количество раз.
> И пока её обнаружат фронт атак тоже увеличится.Чего-чего? Какой фронт, какое "размножится"? 🤦
Инлайн, это
замена "вызов_кода_с_ошибкой" на "копия кода с ошибкай", т.е. что совой о пень, что пнем о сову ...
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Rev , 12-Фев-26 17:36
Не понял. Сейчас установлена? Но пишут же, что вручную заинлайнили. Я так это понял, что код функции перенесли туда, где он используется, избавившись от вызова функции.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Совершенно другой аноним , 12-Фев-26 17:47
> Не понял. Сейчас установлена? Но пишут же, что вручную заинлайнили. Я так
> это понял, что код функции перенесли туда, где он используется, избавившись
> от вызова функции.посмотрите patch, ссылка на него есть в тексте новости. Если по-простому, то функции перенесли из файла *.c в файл *.h и дописали static inline.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено ___ , 12-Фев-26 17:48
в сетях 100 мбит и процент замедления скорее всего был гораздо меньше, так как частота пакетов была меньше
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 18:03
https://speed.cloudflare.com
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:34
Жаль только, что тспу очень агрятся на юдп. Но, что-нибудь обязательно будет придумано!
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено 12yoexpert , 12-Фев-26 16:38
у меня не агрятся, чяднт?
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:40
Повезло с провайдером. Видимо ещё активное оборудование не шибко внедрили.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено 12yoexpert , 12-Фев-26 16:43
а модем мой пассивный, по-твоему? и как ты собрался внедрять какое-то оборудование ко мне в мобилку? у меня два провайдера, ни один мне ни о каких внедрениях не сообщал
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:47
Я думал, что там у них есть два класса оборудования и стоит оно до Ваших модемов. Ну да ладно. Главное, что Вам нравится!
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:48
> и как ты собрался внедрять какое-то оборудование ко мне в мобилку?Легко. Одним законом о предустановке российского ПО. Если тспу понадобятся сразу на уровне каждого смартфона.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено 12yoexpert , 12-Фев-26 16:55
какой идиот будет даже заикаться о таком законе, и кому вообще нужны эти ваши тспу? это же цензура. засмеют и выгонят из правительства, если не посадят за шпионаж или измену. да и российское ПО никогда качеством не отличалось. есть хоть какие-то причины делать то, что написано у тебя в комментарии?
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 18:44
Забористая у Вас!
Ну если по теме, есть к примеру множество нужных сервисов, которые спроектированы и хорошо работают именно с дейтаграммами. Котурн например. Но если Вам все нравится, значит Вам наверное это просто неинтересно.
Завидую!
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 19:39
https://www.consultant.ru/legalnews/29310/
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 17:34
> что-нибудь обязательно будет придумано!Пройдемте.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 18:46
Только после Вас:)
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 18:24
да, хорошая новость, буст в 12% при обработке udp пакетов на тспу это прям приятно!надо потесть, действительно ли есть прироста и если есть, то можно сказать что запилили новую фичу, для работы которой нужно ядро 7.0 и выше, и получить за это премию!
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено timur.davletshin , 12-Фев-26 16:39
К пользовательским реализациям никакого отношения не имеет. Там ни разу ничего не упиралось в производительность timecounter_cyc2time().
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:41
Миф "о невероятно оптимизированном дидовом коде" развеян.
В который раз))Кто бы мог подумать, что аффторы оригинального кода не знали о возможности инлайна.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 16:52
а причем тут дидовый код, у вас ведь компиляхтор "луДше" код генерит.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним83 , 12-Фев-26 19:07
Дидам никогда не нужно было знать точное время получения UDP пакета, всё как то без этого прекрасно работало.
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 17:03
А ещё в linux 6.12.x ip6gre и ip6tnl сломали
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Cyber100 , 12-Фев-26 17:43
не могу сосчитать без логарифмической линейки и штангенциркуля == если у них на 100гб канале все увеличилось аж на 12%, значит, на 1 гб канале - это будет 1200% или наоборот 0,12%?
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено 12yoexpert , 12-Фев-26 17:59
попробуй счёты
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним , 12-Фев-26 18:00
> В данной ситуации автоматические применяемые компилятором оптимизации, такие как FDO (Feedback Directed Optimization), LTO (Link Time Optimization) и PGO (Profile Guided Optimization), не смогли обнаружить горячий сегмент кода и проигнорировали его,А Боромир.. А компилятор Rust'a сам бы всё заинлайинл!
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Фамилия , 12-Фев-26 19:15
То есть, вы хотите сказать, что этот магический компилятор магически видит горячие сегменты кода и магически понимает, что тем людям, которые это дело компилируют надо именно заинлаинить этот кусок кода в угоду производительности на каком-то конкретном тесте? Просто вау. А почему же тогда никто и нигде про эти магические способности не говорит? Это же такая классная реклама! Компилятор, который генерит безопасный код, ещё и знает заранее всё то, что вы и сами ещё пока даже не знаете!
"В ядре Linux на 12% ускорена обработка входящих UDP-пакетов"
Отправлено Аноним83 , 12-Фев-26 19:06
> Отмечается, что функция timecounter_cyc2time() может вызываться на каждый входящий пакет, поскольку современные протоколы требуют учёта времени поступления пакета.Кто не понял, поясню: они накостылили http/2 / quick, где им пришлось в юзерспейсе имплементировать cognestion control алгоритмы, для работы которых потребовалось включать опцию для записи времени получения пакета.
SO_TIMESTAMP / SO_TS_CLOCK / SO_TIMESTAMPNS.
До этого данная опция почти никогда не применялась при работе с UDP ибо нафиг не надо знать время когда пакет пришёл. В худьшем случае в event обработчике чтения в самом начале получали время и считали что все пакеты прочитанные за этот цикл приёма из сокета были получены в это время.
Иными словами:
1. Для обычных приложений от этой оптимизации толку 0.
2. Сами себе придумали проблему с quick (юзерспейс TCP) - сами преодолевают.