Investigaciones recientes han revelado problemas de rendimiento relacionados con las llamadas “split locks” en las arquitecturas x86-64 de Intel y AMD. Las split locks, utilizadas en operaciones atómicas que cruzan límites de línea de caché, pueden provocar la activación de “bus locks”, un mecanismo de bloqueo lento que afecta el rendimiento general del sistema. Linux ha implementado una solución temporal insertando retrasos artificiales para mitigar este impacto, aprovechando la capacidad de los núcleos más recientes de Intel y AMD para detectar estas split locks. Las pruebas realizadas muestran variaciones significativas en el impacto de las split locks entre diferentes arquitecturas: Arrow Lake (Intel) sufre un impacto considerable en la latencia de la memoria, especialmente en el acceso a la caché L2, mientras que Zen 5 (AMD) presenta una latencia peor pero aún manejable. Alder Lake (Intel) muestra un comportamiento peculiar donde los núcleos de rendimiento (P-Cores) se ven más afectados que los núcleos de eficiencia (E-Cores). Curiosamente, arquitecturas más antiguas como Skylake y Piledriver, a pesar de sus limitaciones, demuestran un mejor manejo de las split locks en comparación con las arquitecturas más recientes, aunque con penalizaciones en el rendimiento de la memoria. El impacto se traduce en una degradación del rendimiento en cargas de trabajo intensivas en caché como los filtros de fotos y la compresión de activos en Geekbench 6.
