En attente du lancement du cycle Linux 6.5 dans environ un mois se trouve un nouveau correctif d’optimisation Linux x86 pour un réglage plus poussé de csum_partial, la fonction utilisée dans le noyau pour calculer les sommes de contrôle 32 bits sur des blocs de données. Une latence beaucoup plus faible et un débit plus élevé peuvent être observés avec le csum_partial nouvellement optimisé sur les derniers processeurs Intel/AMD.
La fonction csum_partial est utilisée dans tout le noyau, de la mise en réseau aux systèmes de fichiers, à des fins de somme de contrôle. Un nouveau correctif désormais en file d’attente dans tip/tip.git améliore les performances de l’implémentation x86/x86_64 csum_partial. Le développeur Noah Goldstein a noté dans le correctif :
x86/csum : améliorez les performances de `csum_partial`
1) Ajoutez un cas spécial pour len==40 car il s’agit de la valeur la plus chaude. Les filets offrent une amélioration de la latence d’environ 8 à 9 % et une amélioration du débit d’environ 30 % dans le cas len==40.
2) Utilisez plusieurs accumulateurs dans la boucle de 64 octets. Cela améliore considérablement l’ILP et se traduit par une amélioration de la latence/débit jusqu’à 40 % (mieux pour plus d’itérations).
Le correctif est mis en file d’attente dans la branche x86/misc de TIP jusqu’à ce que la fenêtre de fusion Linux 6.5 démarre. C’est toujours une joie de voir les optimisations de performances sans fin du noyau Linux.