Linux 7.1 acaba de comenzar a eliminar gradualmente el soporte para procesadores i486, y los controladores de hardware antiguos relacionados (como los del SoC AMD Elan del siglo pasado) también han estado en el camino de salida. Ahora esta acción de optimización se extiende aún más a algunos procesadores de nivel i586 e i686 en el Linux 7.2 planificado.

imagen.webp

Después de que i486 se despidiera oficialmente, los desarrolladores del kernel continuaron trabajando en los procesadores i586/i686 sin TSC (Contador de marca de tiempo, instrucciones de contador de marca de tiempo). Para estas primeras CPU sin instrucciones TSC, mantener sus rutas de compatibilidad se considera cada vez más costoso y difícil de satisfacer las necesidades cambiantes de los sistemas Linux modernos, por lo que se eliminará la compatibilidad con estos procesadores. Intel Pentium y los procesadores de la misma generación que aún tengan capacidades TSC no se verán afectados. Esta ronda de limpieza solo está dirigida a CPU de nivel i586/i686 que carecen de TSC.

Entre los procesadores afectados se destacan AMD K5 y varios modelos de procesadores Cyrix. AMD K5 es el primer procesador x86 de AMD diseñado de forma completamente independiente por su equipo de diseño interno. Fue lanzado oficialmente en 1996 y en ese momento estaba dirigido principalmente al Intel Pentium. A medida que pasa el tiempo, esta generación de CPU se ha retirado durante mucho tiempo de los escenarios de uso convencionales y ahora ya no recibirá atención especial a nivel del kernel de Linux.

Se ha fusionado un parche de eliminación para la compatibilidad con CONFIG_M586 sin TSC en la rama "x86/cpu" del repositorio tip/tip.git utilizado por los mantenedores del kernel. Se espera que este parche se envíe oficialmente durante la próxima ventana de fusión de Linux 7.2, ingresando así al proceso de desarrollo principal.

Una vez que se limpia este lote de soporte de CPU antiguo, Linux puede asumir de forma predeterminada que el sistema es compatible con TSC durante la fase de arranque y configurar CONFIG_X86_TSC como una opción habilitada incondicionalmente. Sobre esta base, se pueden eliminar sin problemas múltiples rutas de compatibilidad escritas en escenarios que no son TSC en el código del kernel x86, lo que no solo reduce la carga de mantenimiento, sino que también ayuda a modernizar y optimizar el código.

Esto significa que para los usuarios de sistemas que todavía ejecutan procesadores i586/i686 antiguos sin TSC como AMD K5, las versiones futuras del kernel de Linux ya no brindarán soporte, lo que una vez más resalta el difícil equilibrio entre "mirar hacia adelante" y "cuidar el hardware heredado" en el kernel ascendente, que gradualmente se inclina hacia el primero.