BookinglyTech News
Infraestructura

Google propone ajustar el tamaño de pila del kernel ARM64 en el arranque

Un ingeniero de Google ha enviado una propuesta al mailing list del kernel para que Linux ARM64 permita cambiar la pila del kernel durante el arranque y ahorrar memoria.

2 min de lecturaPhoronix0 vistas

Un ingeniero de Google publicó esta semana una propuesta en la lista de correo del kernel Linux con el objetivo de que la arquitectura ARM64 pueda modificar el tamaño de la pila del kernel en el momento del arranque. Actualmente la pila del kernel está fija en 16 KB para todas las configuraciones ARM64, lo que implica que cada hilo del núcleo reserva esa cantidad de memoria aunque la carga de trabajo no la requiera.

La iniciativa sugiere añadir un parámetro de arranque –por ejemplo arm64.stack_size=– que permita reducir la pila a 8 KB o incrementarla según las necesidades del sistema. La reducción tendría un impacto directo en la huella de memoria del kernel, especialmente en entornos con miles de hilos, como contenedores ligeros o sistemas embebidos con recursos limitados. En un escenario típico de 4 000 hilos, pasar de 16 KB a 8 KB por pila ahorraría aproximadamente 32 MB de RAM, sin afectar el resto del funcionamiento del núcleo.

El autor reconoce que cambiar el tamaño de la pila rompe la compatibilidad binaria con módulos que asumen la pila de 16 KB. Por ello la propuesta incluye una verificación en tiempo de carga que rechazaría módulos compilados contra una pila distinta, obligando a recompilar los controladores críticos. Además, se plantea que la opción sea desactivada por defecto para evitar sorpresas en distribuciones que no prueben el nuevo comportamiento.

Si la comunidad acepta la propuesta, los mantenedores de la rama ARM64 tendrían que actualizar la documentación de Documentation/arm64/boot.txt y añadir pruebas de regresión en el conjunto de pruebas de kernel. La medida también abriría la puerta a futuros ajustes dinámicos, como adaptar la pila según la carga de trabajo detectada en tiempo de ejecución.

En conclusión, la propuesta busca un ajuste fino de recursos en ARM64, algo que puede ser relevante para proveedores de infraestructura cloud que ejecutan miles de instancias ligeras sobre hardware ARM, así como para fabricantes de dispositivos IoT que necesitan exprimir cada kilobyte de RAM.