Në bazën e kodit, në të cilën formohet bërthama Linux 7.0, është pranuar një grup ndryshimesh, gjatë testeve të stresit në një rrjet 100-gigabit, që lejuan përmirësimin e rendimentit të përpunimit të paketave UDP të ardhura me 12%. Optimizimi është realizuar përmes inline manual të 2 funksioneve. Shënohet se funksioni timecounter_cyc2time() mund të thirret për çdo paketë të ardhur, ngase protokollet moderne kërkojnë llogaritjen e kohës së ardhjes së paketës. Për këtë arsye, në një ngarkesë serveri funksioni timecounter_cyc2time() mund të thirret më shumë se 100 milion herë në sekondë.
Në këtë situatë, optimizimet automatikisht të aplikuara nga kompajtari, si FDO (Feedback Directed Optimization), LTO (Link Time Optimization) dhe PGO (Profile Guided Optimization), nuk arritën të zbulojnë segmentin e nxehtë të kodit dhe e injoruan atë, duke u dukur se kjo ndodhi për shkak se drejtuesit e kartave rrjetit ofrohen në formën e moduleve të veçanta. Megjithatë, implementimi manual i funksionit të dhënë një fitim të rëndësishëm në performancë.
Burimi: opennet.ru
