Linux 6.18 permitirá que Rust y C compartan el mismo modelo de memoria

El desarrollo de Rust para el kernel de Linux sigue avanzando, y para la versión 6.18 se han integrado cambios importantes que permitirán que código Rust y C utilicen el mismo modelo de memoria atómica, mejorando la interoperabilidad y la seguridad en el kernel.

Detalles principales

Los cambios de Rust para variables atómicas ahora soportan el Linux Kernel Memory Model (LKMM), lo que garantiza que Rust y C compartan el mismo comportamiento al acceder a memoria compartida.

Esto permite que el código concurrente en Rust sea más fino y seguro, al alinearse con cómo C maneja la memoria.

Se ha añadido un wrapper de Rust para refcount_t, la estructura de conteo de referencias del kernel, evitando que los desarrolladores tengan que implementar su propio código de referencia en Rust.

Los parches están actualmente en la rama locking/core del TIP branch y, salvo objeciones de Linus Torvalds, se incluirán en Linux 6.18.

Beneficios de estos cambios

  1. Compatibilidad Rust-C: Rust ahora puede interactuar con módulos en C usando el mismo modelo de memoria.
  2. Mejor concurrencia: Se desbloquea el uso de código concurrente más fino en Rust.
  3. Facilidad de desarrollo: El wrapper de refcount_t reduce la necesidad de código personalizado de manejo de referencias en Rust.
Vistas: 1