Linus Torvalds cree que la arquitectura i486 estarĂ­a mejor en un museo y no en el kernel de Linux

linus torvalds

Linus Benedict Torvalds es un ingeniero de software finlandés-estadounidense, ​ conocido por iniciar y mantener el desarrollo del kernel Linux,

Hace algunos dĂ­as Linus Torvalds dio a conocer su opiniĂ³n sobre finalizar el soporte para la arquitectura del procesador i486 en el kernel de Linux. La arquitectura antigua se discutiĂ³ hace unos dĂ­as en un hilo que analizaba cĂ³mo el nĂºcleo podrĂ­a manejar mejor las listas de uso menos reciente (LRU), una forma de rastrear las pĂ¡ginas de memoria.

Mientras Torvalds investigaba el cĂ³digo de los colaboradores, parece haberse frustrado con la necesidad de incluir soluciones adecuadas para CPU mĂ¡s antiguas. Por lo tanto, sugiriĂ³ finalizar el soporte para el kit anterior, lo que podrĂ­a ser una forma mĂ¡s fĂ¡cil de solucionar los problemas de memoria.

“Nos deshicimos de la compatibilidad con i386 en 2012. ¿QuizĂ¡s es hora de eliminar la compatibilidad con i486 en 2022? Dice Linus Torvalds

Ya lo hacemos (ciertamente mal: no es seguro para SMP, es decir, funcionarĂ¡ bien incluso cuando se enfrente al acceso simultĂ¡neo de mĂºltiples subprocesos de ejecuciĂ³n, pero las mĂ¡quinas SMP Clase 486 nunca fueron compatibles a pesar de que tĂ©cnicamente existĂ­an)

Cabe recordar que la serie de CPU i486 se lanzĂ³ en 1989 y actualmente son muy pocas distribuciones de Linux, como Gentoo, Slackware y KNOPPIX que continĂºan admitiendo el soporte para esta arquitectura.

SegĂºn Torvalds, los problemas causados ​​por el soporte de arquitecturas obsoletas que pocas personas usan podrĂ­an ser mĂ¡s fĂ¡ciles de resolver eliminando su soporte. La gestiĂ³n de memoria LRU de procesadores mĂ¡s antiguos tambiĂ©n serĂ­a un caso asĂ­. 

Honestamente, no me importarĂ­a actualizar los requisitos mĂ­nimos a al menos M586TSC, dejando atrĂ¡s tambiĂ©n algunos de esos primeros clones de «falsos Pentium». Porque ‘rdtsc’ es probablemente un problema aĂºn peor que CMPXCHG8B.

Y es que todo se reduce a cmpxchg8b, una instrucciĂ³n que compara y luego intercambia ocho bytes (o 64 bits) de informaciĂ³n en la memoria de la computadora. El miembro de la lista de correo Peter Zijlstra sugiriĂ³ que Linux solo deberĂ­a admitir procesadores capaces de llevar a cabo esto, dejando atrĂ¡s i486 de 32 bits y lo que significa que los nuevos kernels de Linux se ejecutarĂ­an en hardware de clase P5 o mĂ¡s nuevo.

La instrucciĂ³n cmpxchg8b es la culpable del error ‘F00F’ del Pentium original, en el que una CPU afectada sin las mitigaciones del sistema operativo dejaba de funcionar hasta que se reiniciaba cuando se le pedĂ­a que ejecutara la instrucciĂ³n.

En realidad, no entiendo en absoluto por quĂ© los nĂºcleos actuales se ejecutan en un i486, ya que pareceexit_to_user_mode_prepare -> arch_exit_to_user_mode_preparey termina teniendo una declaraciĂ³n ‘rdtsc’ incondicional.

Supongo que no lo has activado.RANDOMIZE_KSTACK_OFFSET*? En otras palabras, nuestro soporte que no es Pentium estĂ¡ ACTIVAMENTE DEFECTUOSO Y ROTO en este momento.

SegĂºn Ă©l, es muy dudoso que el hardware i486 siga siendo relevante. No hay duda de que todavĂ­a hay personas tan decididas en el mundo, que creen que los problemas resultantes pueden superarse fĂ¡cilmente, pero a partir de desde el punto de vista del desarrollo del nĂºcleo, esta posiciĂ³n no es realmente relevante. 

“AsĂ­ que realmente no creo que el hardware de clase i486 sea relevante mĂ¡s. SĂ­, estoy seguro de que los hay (Maciej es un ejemplo), pero desde la perspectiva del desarrollo del kernel, no creo que sean realmente relevantes. En algĂºn momento, la gente los tiene como piezas de museo. TambiĂ©n podrĂ­an administrar nĂºcleos de museos.

Hay que decir que la arquitectura i486 debutĂ³ en 1989 y fue reemplazada por el Pentium de Intel en 1993. Intel se deshizo del i486 en 2007 y hoy en dĂ­a su famosa base de datos detallada de productos Ark no contiene ninguna menciĂ³n de la familia de procesadores.

Quien todavĂ­a usa los dispositivos hace tiempo que se resignĂ³ a hacerlo sin soporte, sin posibilidad de adquirir un nuevo kit o que los desarrolladores de software pensaran en la plataforma.

Para mĂ¡s detalles, el Intel 80486 (i486, 486) es un microprocesador de la familia x86, fabricado por Intel. Fue lanzado en 1989. En tĂ©rminos de arquitectura de procesador, el 80486 es muy similar a su predecesor inmediato, el Intel 80386, con la adiciĂ³n de algunas instrucciones adicionales. Es, por tanto, una arquitectura CISC.

Desde el punto de vista de la microarquitectura, hubo una gran mejora en ese momento: un caché unificado integrado de instrucciones y datos, una unidad de procesamiento de punto flotante (FPU) integrada opcional y una interfaz de bus mejorada.

Finalmente hace menciona para los usuarios que tengan sistemas con procesadores i486 podrĂ¡n utilizar las versiones LTS del kernel, las cuales se mantendrĂ¡n por muchos años mĂ¡s.