Ubunlog Pablinux  

Linux 7.3-rc2: mejoras en scheduler, kmalloc_obj y RandStruct

Linux 7.3-rc2

Linux 7.3-rc2 ya está disponible, y como es habitual tras la ventana de fusión, llega cargado de correcciones y ajustes. Esta segunda candidata a versión estable se presenta con un ritmo de trabajo intenso, según advirtió Greg Kroah-Hartman, aunque no todos los cambios son problemáticos.

Entre las novedades más destacadas se encuentran las correcciones en el scheduler para CPUs híbridas, la conversión masiva de llamadas kmalloc() a kmalloc_obj() y la decisión de desactivar por defecto la aleatorización de estructuras RandStruct cuando se compila con soporte para Rust. Estos cambios buscan mejorar el rendimiento y la seguridad, aunque también generan debate en la comunidad.

Linux 7.3-rc2 introduce correcciones en el scheduler para CPUs híbridas

Uno de los parches más relevantes es el que aborda los problemas de ‘misfit’ en el Cache Aware Scheduling, una característica que agrupa tareas relacionadas en núcleos que comparten la misma caché de último nivel. En sistemas con CPUs híbridas, como los Intel Core Ultra, esta agrupación podía llevar a que las tareas se asignaran a núcleos pequeños, perdiendo rendimiento. El ingeniero de Intel Tim Chen ha propuesto una solución que evita que las tareas se muevan a una caché que no puede acomodarlas, priorizando la migración de tareas ‘misfit’ sobre la agregación de carga. Esta corrección es clave para mejorar el rendimiento en procesadores híbridos, ya que evita sacrificar capacidad por localidad de caché.

Conversión masiva a kmalloc_obj

Otra de las novedades es la conversión de numerosas llamadas kmalloc() a la nueva familia de funciones kmalloc_obj(), que ofrece ventajas como la eliminación de la necesidad de especificar el tamaño con sizeof() y la posibilidad de realizar una introspección interna del tipo asignado. Esta conversión, impulsada por Kees Cook, afecta a cientos de archivos y más de 600 líneas de código, aunque estos datos no se han confirmado en todas las fuentes. La migración a kmalloc_obj() es un paso hacia una gestión de memoria más segura y eficiente, y se espera que facilite futuras mejoras en la alineación y el endurecimiento del kernel.

RandStruct se desactiva por defecto con Rust

La seguridad también tiene su hueco en este rc2. La configuración por defecto del kernel ahora desactiva la aleatorización de estructuras RandStruct cuando se detecta un toolchain de Rust y soporte para la arquitectura. Esta decisión, tomada por Mark Brown, busca permitir que Rust se compile con allmodconfig, la configuración estándar para cubrir todos los módulos. La desactivación de RandStruct es un compromiso para facilitar el desarrollo de Rust en el kernel, aunque se espera que en el futuro se pueda integrar correctamente con esta característica de seguridad.

En definitiva, Linux 7.3-rc2 llega con un conjunto de cambios que abarcan desde la optimización del scheduler hasta la modernización de la gestión de memoria, pasando por ajustes en la seguridad. Estas modificaciones, aunque no exentas de polémica, demuestran el dinamismo del desarrollo del kernel y su adaptación a las nuevas arquitecturas y lenguajes. La comunidad espera que estas mejoras se consoliden en la versión final, prevista para mediados de octubre.

Artículo original

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.