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

image.webp

Después de que i486 se despidiera oficialmente, los desarrolladores del kernel continuaron "operando" en los procesadores i586/i686 sin TSC (Contador de marcas de tiempo, instrucción de contador de marcas de tiempo). Para estas primeras CPU sin instrucciones TSC, se considera que mantener sus rutas de compatibilidad es 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, AMD K5 y varios modelos de procesadores Cyrix son los más destacados. 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.

El parche de eliminación de soporte para CONFIG_M586 sin TSC se ha fusionado en la rama "x86/cpu" en el 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 manera predeterminada que el sistema es compatible con TSC durante la fase de inicio 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 del sistema 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 se está inclinando gradualmente hacia el primero.