La preferencia como GC para el reordenamiento de memoria
Preemption is GC for memory reordering (2019)

En la programación sin bloqueos en espacio de usuario, la preferencia (interrupciones) puede usarse como una barrera de memoria implícita, similar a cómo la recolección de basura se paga por adelantado. El autor explora cómo las interrupciones en x86 serializan completamente la ejecución, lo que permite garantizar el orden de las operaciones de memoria sin barreras explícitas. Se discuten dos primitivas de sincronización sin bloqueos: contadores de eventos y inversión de banderas asimétricas, y cómo su implementación en Linux/x86-64 puede aprovechar las interrupciones para asegurar la visibilidad de las escrituras. El artículo también compara con Bounded TSO y presenta código en Concurrency Kit y barrierd.
La preferencia debería tratarse como un costo hundido, como la recolección de basura: ya la estamos pagando, así que podríamos usarla.