V jádře Linux byla o 12 % zrychlena zpracování příchozích UDP paketů

Do kódové základny, na jejímž základě se formuje jádro Linux 7.0, byla přijata sada změn, které při provádění stresového testování v 100-gigabitové síti umožnily zvýšit výkon zpracování příchozích UDP paketů o 12 %. Optimalizace byla realizována pomocí ručního inline stylu dvou funkcí. Je poznamenáno, že funkce timecounter_cyc2time() může být volána na každý příchozí paket, protože moderní protokoly vyžadují zohlednění času přijetí paketu. Z tohoto důvodu na zatíženém serveru funkce timecounter_cyc2time() může být volána více než 100 milionůkrát za sekundu.

V této situaci automaticky aplikované optimalizace kompilátorem, jako FDO (Optimalizace řízená zpětnou vazbou), LTO (Optimalizace v čase spojení) a PGO (Optimalizace řízená profilováním), nedokázaly odhalit horký segment kódu a ignorovaly ho, zřejmě kvůli tomu, že ovladače síťových karet jsou dodávány ve formě samostatných modulů. Ruční inline nasazení funkce však přineslo významné zvýšení výkonu.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster