Linux 7.2 incorporará una optimización que mejora de forma significativa el rendimiento de las tuberías anónimas del núcleo, las empleadas en los pipelines del shell y en los flujos estándar de las aplicaciones. El cambio, ya fusionado en el repositorio, fue desarrollado por Breno Leitao, ingeniero de Meta, tras detectar durante el perfilado de código de caché una fuerte contención entre la escritura en la tubería y el mutex asociado.
La función anon_pipe_write() reservaba una página cada vez con alloc_page() dentro de la sección crítica protegida por pipe->mutex, lo que provocaba bloqueos al permitir la entrada en direct reclaim y disparar la contabilidad de cgroups de memoria. La nueva versión preasigna hasta 8 páginas antes de tomar el mutex, recicla los sobrantes en una caché tmp_page[] por tubería antes de liberarlo y devuelve lo restante tras desbloquear, manteniendo al asignador fuera de la sección crítica.
Las pruebas con escrituras de 64 KB sobre una tubería de 1 MB muestran mejoras de throughput del 6-28 % y reducciones de latencia media del 5-22 %; bajo presión de memoria, donde el coste de retener el mutex durante reclaim es mayor, el rendimiento crece entre un 21 % y un 48 % y la latencia cae un 17-33 %. El microbenchmark se incorpora además a los selftests del kernel. La optimización llega como parte de un pull request miscelláneo de VFS y se suma a otros trabajos de rendimiento incluidos en esta ventana de desarrollo.
