I kernen Linux Behandlingen af ​​indgående UDP-pakker er blevet accelereret med 12 %.

I den kodebase, som kernen er dannet på Linux I version 7.0 blev der implementeret en række ændringer, der under stresstest på et 100-gigabit netværk tillod en 12% stigning i ydeevnen af ​​indgående UDP-pakkebehandling. Optimeringen blev implementeret ved manuelt at indsætte to funktioner. Det bemærkes, at funktionen timecounter_cyc2time() kan kaldes for hver indgående pakke, da moderne protokoller kræver, at der tages højde for pakkens ankomsttid. På grund af dette, på en indlæst server Funktionen timecounter_cyc2time() kan kaldes mere end 100 millioner gange i sekundet.

I denne situation kunne automatiske compileroptimeringer som FDO (Feedback Directed Optimization), LTO (Link Time Optimization) og PGO (Profile Guided Optimization) ikke registrere hot code-segmentet og ignorerede det, tilsyneladende fordi netværkskortdriverne leveres som separate moduler. Manuel inline-udvidelse af funktionen gav dog en betydelig ydeevneforøgelse.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster