El puerto para SPARC64 recibe su primera actualización significativa en años, eliminando código obsoleto y alineándose con el resto de arquitecturas activas del núcleo.
En una evolución poco frecuente pero significativa dentro del ecosistema del kernel de Linux, el desarrollador Thomas Weißschuh de Linutronix ha enviado una serie de parches que modernizan el soporte para la arquitectura SPARC64. Esta actualización supone un paso importante en la limpieza y mantenimiento del código, al migrar esta arquitectura a la infraestructura genérica de vDSO, alineándola con el resto de arquitecturas compatibles con Linux.
SPARC64: la última en adoptar el vDSO genérico
Hasta ahora, SPARC64 era la única arquitectura dentro del kernel principal que no utilizaba la implementación genérica de vDSO (Virtual Dynamic Shared Object), una característica clave que permite a los programas de espacio de usuario ejecutar llamadas al sistema de forma más eficiente, evitando el coste de las transiciones tradicionales al kernel.
“La adopción de vDSO genérico permite compartir mucho más código entre arquitecturas y facilita el mantenimiento del kernel”, explicó Weißschuh en su mensaje a la lista de correo de Linux Kernel.
Con esta migración, se eliminan cientos de líneas de código específicas de SPARC64, lo que reduce la complejidad y el riesgo de errores en una arquitectura que, si bien obsoleta en términos de mercado, aún conserva soporte en el kernel.
Oracle abandonó SPARC hace años, pero Linux lo sigue soportando
La arquitectura SPARC fue desarrollada originalmente por Sun Microsystems y utilizada en sistemas Unix de alto rendimiento. Tras la compra de Sun por parte de Oracle, el desarrollo de nuevos procesadores SPARC se detuvo hace ocho años. Desde entonces, la base de usuarios se ha reducido drásticamente, con la mayoría de despliegues históricos basados en Solaris y no en Linux.
Sin embargo, el kernel de Linux sigue incluyendo soporte para SPARC64, gracias en parte a la comunidad y a desarrolladores como John Paul Adrian Glaubitz, que han mantenido viva esta compatibilidad, especialmente útil en entornos académicos, virtualización (QEMU) y retrocomputación.
¿Qué cambia con esta actualización?
La serie de 14 parches enviada por Weißschuh incluye, entre otros cambios:
- Eliminación del código específico de temporización (
clocksource
) para SPARC64. - Uso del
-z noexecstack
en la construcción del vDSO. - Reemplazo de secciones de código autopatcheado por condiciones de ejecución en tiempo real.
- Inclusión de nuevas implementaciones para
clock_gettime64()
yclock_getres()
en el vDSO. - Limpieza de símbolos y macros heredadas de vdso2c.
- Migración completa a la biblioteca genérica de vDSO usada en arquitecturas como x86, ARM, RISC-V y PowerPC.
El resultado no solo es una base de código más limpia, sino también una arquitectura más alineada con los estándares modernos de mantenimiento del kernel.
Código probado solo en QEMU
Weißschuh ha confirmado que las pruebas se han realizado exclusivamente en entornos virtualizados con QEMU, lo que refleja la rareza de hardware SPARC64 real aún operativo. Aun así, la adopción de estos parches facilitará tareas como la autoevaluación (kselftest
), simulación y construcción cruzada de kernels multi-arquitectura.
¿Un adiós en cámara lenta?
Aunque esta actualización moderniza el código SPARC64, su inclusión podría ser también un paso hacia una eventual retirada. El hecho de que ya no se desarrollen procesadores nuevos, unido al bajo uso práctico en Linux, plantea dudas sobre la longevidad de su soporte en futuras versiones del kernel.
“Este tipo de limpiezas sientan las bases para una retirada ordenada, o al menos para un mantenimiento pasivo sin carga técnica”, comentan desde foros de desarrolladores.
Conclusión
La modernización del soporte SPARC64 en Linux es un ejemplo de cómo el kernel sigue equilibrando innovación y legado. Aunque estas plataformas ya no lideran el mercado, el cuidado en su mantenimiento garantiza una infraestructura sólida, interoperable y técnicamente coherente.
En un mundo dominado por x86_64, ARM y RISC-V, SPARC64 puede estar viviendo sus últimos años en el núcleo, pero lo hace con dignidad, y ahora, con un vDSO moderno.
¿Quieres que prepare también una infografía cronológica sobre la evolución de SPARC en Linux o una tabla comparativa de arquitecturas compatibles?