El subsistema io_uring del kernel Linux gestiona un volumen elevado de operaciones en vuelo, lo que exige estructuras de datos eficientes para sus colas internas de trabajo. Hasta la versión 7.1, io_uring se apoyaba en la API llist del kernel, una lista simplemente enlazada sin bloqueos orientada a un único consumidor en cabeza. Ese diseño obligaba a invertir el orden de los elementos antes de cada procesamiento para mantener la equidad FIFO, exigía mantener una lista auxiliar para los ítems invertidos pero no procesados y recurría a bucles de reintento con penalización por contención de línea de caché.
Para resolver esas limitaciones, a partir del kernel 7.2 io_uring adopta una cola MPSC (multi-productores, un único consumidor) sin bloqueos, propuesta por Jens Axboe y basada en un algoritmo atribuido a Dmitry Vyukov. La estructura sigue utilizando llist_node como enlace, pero añade un nodo centinela y un puntero de cola. Los productores añaden nodos mediante una operación xchg(), que actúa como barrera de memoria completa y serializa inserciones concurrentes sin necesidad de cerrojos ni reintentos. El consumidor mantiene su propio puntero de cabeza en una línea de caché separada para minimizar la contención con los productores, y distingue tres casos al extraer: lista vacía, único nodo (centinela) y múltiples elementos, avanzando la cabeza de forma segura.
El resultado son colas coherentes y de bajo coste para la gestión de tareas en io_uring, sin reordenamientos previos ni bloqueos, lo que se traduce en ganancias de rendimiento notables para el subsistema.
