Yaklaşık bir ay içinde başlayacak olan Linux 6.5 döngüsünden önce, çekirdek içinde veri blokları üzerinde 32 bitlik sağlama toplamlarını hesaplamak için kullanılan işlev olan csum_partial’in daha fazla ayarlanması için yeni bir Linux x86 optimizasyon yaması sıraya alındı. En son Intel/AMD işlemcilerde yeni optimize edilmiş csum_partial ile çok daha düşük gecikme süresi ve daha yüksek verim gözlemlenebilir.

csum_partial işlevi, ağ oluşturmadan dosya sistemlerine kadar çekirdeğin tamamında sağlama toplama amaçları için kullanılır. Tip/tip.git’te sıraya alınan yeni bir yama, x86/x86_64 csum_partial uygulamasının performansını artırıyor. Geliştirici Noah Goldstein yamada şunları kaydetti:

x86/csum: `csum_partial` performansını iyileştirin

1) En sıcak değer olduğu için len==40 için özel durum ekleyin. Ağlar, len==40 durumunda ~%8-9 gecikme iyileştirmesi ve ~%30 verim iyileştirmesi sağlar.

2) 64 bayt döngüde birden çok akümülatör kullanın. Bu, ILP’yi önemli ölçüde iyileştirir ve %40’a varan gecikme/verim artışı sağlar (daha fazla yineleme için daha iyidir).

Yama, Linux 6.5 birleştirme penceresi başlayana kadar TIP’in x86/misc dalında sıraya alınır. Linux çekirdeğinde hiç bitmeyen performans optimizasyonlarını görmek her zaman bir zevktir.

Categories: IT Info