W kolejce przed cyklem Linuksa 6.5, który rozpocznie się za około miesiąc, czeka nowa łatka optymalizacyjna Linuksa x86 do dalszego dostrajania csum_partial, funkcji używanej w jądrze do obliczania 32-bitowych sum kontrolnych na blokach danych. Znacznie mniejsze opóźnienia i wyższą przepustowość można zaobserwować dzięki nowo zoptymalizowanemu csum_partial na najnowszych procesorach Intel/AMD.

Funkcja csum_partial jest używana w całym jądrze, od sieci po systemy plików, do celów sumowania kontrolnego. Nowa poprawka umieszczona w kolejce w tip/tip.git poprawia wydajność implementacji x86/x86_64 csum_partial. Deweloper Noah Goldstein zauważył w łatce:

x86/csum: Poprawa wydajności `csum_partial`

1) Dodaj specjalny przypadek dla len==40, ponieważ jest to najgorętsza wartość. Daje to ~8-9% poprawę opóźnienia i ~30% poprawę przepustowości w przypadku len==40.

2) Użyj wielu akumulatorów w 64-bajtowej pętli. To radykalnie poprawia ILP i skutkuje poprawą opóźnień/przepustowości do 40% (lepiej w przypadku większej liczby iteracji).

Łata jest umieszczana w kolejce w gałęzi x86/misc firmy TIP, dopóki nie rozpocznie się okno scalania Linuksa 6.5. Zawsze miło jest widzieć niekończące się optymalizacje wydajności jądra Linuksa.

Categories: IT Info