La eliminación de MMX en Linux apunta a las últimas optimizaciones RAID de la era Pentium
Los desarrolladores de Linux se preparan para eliminar las últimas optimizaciones Intel MMX del kernel, cerrando un capítulo que comenzó con los procesadores Pentium en 1997. La propuesta de eliminación de MMX en Linux se dirige a cálculos especializados de almacenamiento y conserva las alternativas de software existentes. Su principal equilibrio es sencillo: menos código heredado para los mantenedores, con un posible coste de rendimiento para sistemas inusualmente antiguos.
MMX, la extensión de instrucciones de Intel para procesar datos empaquetados, ayudó en su día al software a acelerar cálculos multimedia y otras operaciones repetitivas. Las implementaciones restantes del kernel se destinan al RAID por software, que combina unidades bajo el control del sistema operativo. Estas implementaciones ahora afrontan su retirada porque las alternativas genéricas ya realizan el mismo trabajo.
El destino previsto es Linux 7.5, anticipado para 2027, pero sigue siendo una expectativa de lanzamiento y no una integración ya completada en la rama principal. Para los propietarios de hardware afectado, la distinción importa. Esta propuesta modifica cómo se ejecutan determinados cálculos de almacenamiento; no establece por sí misma que todos los equipos de la era Pentium puedan ejecutar un futuro kernel.
La eliminación de MMX en Linux va más allá de una única rutina XOR
La propuesta elimina una pequeña familia de implementaciones RAID heredadas, en lugar de desactivar la función de almacenamiento que aceleran.
Eric Biggers presentó la serie el 25 de octubre de 2026. Su propuesta de retirada de MMX contiene tres parches que cubren XOR, RAID6 y las comprobaciones de características del procesador. Los cambios presentados afectan a siete archivos, añaden 12 líneas y eliminan 837.
XOR, una operación bit a bit que combina valores, ayuda a calcular la paridad, la información redundante utilizada para reconstruir datos perdidos. RAID6, una configuración de almacenamiento diseñada para tolerar dos fallos de unidad, requiere cálculos adicionales más allá del XOR básico. Por ello, tratar toda la serie como una única rutina XOR eliminada subestima su alcance.
La distinción también evita una interpretación exagerada del titular. Eliminar una implementación optimizada cambia las rutas de ejecución disponibles. Eliminar la compatibilidad con RAID eliminaría una capacidad de almacenamiento. La propuesta presentada describe lo primero, y los procesadores afectados utilizarían código genérico ya existente.
Phoronix informó de que el trabajo había llegado al árbol de desarrollo MM de Andrew Morton e identificó Linux 7.5 como el destino probable. Su cobertura sobre MMX en el kernel presenta el objetivo de lanzamiento como una expectativa. A fecha del 9 de noviembre, ese es el lenguaje apropiado para los lectores que planifican en torno al cambio.
Un árbol de desarrollo aporta evidencia de que el trabajo avanza hacia su integración. No convierte un objetivo de lanzamiento propuesto en algo incondicional. La revisión, las decisiones de integración y las revisiones posteriores todavía pueden afectar a lo que llegue al kernel final.
Para los lectores que encuentran explicaciones sobre la eliminación de MMX en Linux a través de titulares nostálgicos, esta distinción de estado merece atención antes que la historia. El hecho verificado es una serie de limpieza presentada, con una llegada a un árbol de desarrollo reportada. El hecho futuro es su llegada esperada a una versión de la rama principal.
El límite práctico es igual de importante. La serie se refiere a implementaciones dentro del kernel, el núcleo del sistema operativo. No describe una prohibición general de que las aplicaciones usen instrucciones MMX, ni anuncia que los procesadores Intel dejarán de reconocerlas.
Ese límite cambia el significado del “fin de una era”. El kernel terminaría de retirar su propio trabajo de optimización específico para MMX. El ecosistema de software más amplio, incluidas las aplicaciones históricas y los sistemas operativos conservados, tiene un ciclo de vida independiente.
Para los mantenedores, la propuesta supone una oportunidad concreta de simplificar un rincón superviviente del código. Para los usuarios, plantea una pregunta más acotada: si su máquina concreta selecciona hoy una de estas implementaciones. Esa pregunta conduce directamente a los requisitos de hardware.
Los sistemas afectados se sitúan por debajo de distintos umbrales de instrucciones
La línea divisoria relevante es la capacidad del procesador y la carga de trabajo, no simplemente que un equipo lleve la etiqueta Pentium.
El parche de eliminación de XOR de Biggers identifica la ruta afectada como destinada a procesadores antiguos de 32 bits sin compatibilidad con SSE. SSE, Streaming SIMD Extensions, es una extensión posterior de instrucciones para procesar múltiples elementos de datos. El parche también limita el uso relevante a sistemas que realmente ejecutan una matriz RAID.
El parche de RAID6 establece un límite distinto: procesadores sin SSE2, la extensión posterior de esa familia de instrucciones. Sus cambios en la implementación de RAID6 también eliminan un archivo llamado sse1.c. Biggers explica que esta implementación seguía utilizando cálculos MMX, complementados con operaciones de memoria SSE.
Ese nombre de archivo es un detalle instructivo. Un vistazo rápido podría sugerir que la serie elimina un reemplazo moderno e independiente junto con MMX. La descripción del parche identifica, en cambio, otra implementación construida alrededor de la maquinaria más antigua.
Para cualquiera que evalúe el impacto en el rendimiento de Intel MMX, estos umbrales separados importan. La compatibilidad de un procesador con SSE no resuelve automáticamente su exposición a cada parte de la serie. La implementación seleccionada y el cálculo RAID implicado determinan la comparación relevante.
Pensemos en un entusiasta hipotético que ejecuta una configuración compatible del kernel en una máquina de almacenamiento Pentium II conservada. Si su matriz utiliza una implementación que se retira, el cambio práctico afectaría al rendimiento de los cálculos. La presencia de una alternativa implica que la eliminación de código propuesta no elimina automáticamente ese cálculo.
Ahora pensemos en un desarrollador que lee el mismo titular en una estación de trabajo contemporánea. La antigüedad de la extensión de instrucciones MMX, por sí sola, dice poco sobre la implementación de almacenamiento seleccionada por esa estación. La evidencia útil serían sus capacidades reales de procesador y el comportamiento del kernel.
Estos ejemplos ilustran la exposición, pero no establecen resultados medidos. El material revisado no proporciona un inventario de máquinas activas que utilicen las rutas en retirada. Por tanto, no puede respaldar una estimación precisa de los usuarios afectados.
Quienes se enfrentan a una decisión significativa son los operadores que combinan capacidades de procesador antiguas con la carga de trabajo de almacenamiento relevante. Tendrían que determinar si una actualización cambia la implementación que seleccionan y si cualquier ralentización resultante importa.
Los mantenedores de distribuciones afrontan una tarea de comunicación relacionada. Su configuración del kernel, la disponibilidad de paquetes y los requisitos de procesador siguen siendo independientes de esta limpieza de optimizaciones. Los usuarios necesitan esos detalles antes de interpretar una futura versión como una opción de actualización para hardware conservado.
Por tanto, el equilibrio de mantenimiento alcanza a un público técnico reducido con necesidades potencialmente específicas. Una exposición pequeña no significa ninguna exposición. Significa que la respuesta debe basarse en evidencia real de hardware y carga de trabajo, en lugar del peso emocional de un nombre de procesador conocido.
El código genérico mantiene la capacidad mientras reduce los casos especiales
La propuesta separa la preservación de una función de la preservación de cada implementación histórica de esa función.
Una alternativa escalar, código ordinario que procesa valores sin la implementación MMX retirada, ofrece esa opción a los mantenedores. Biggers describe las alternativas existentes como bien probadas. Esa es la base declarada por el autor para preservar la funcionalidad mientras elimina rutas especializadas.
La expresión merece su alcance adecuado. Respalda el argumento de continuidad de la propuesta, pero no es una prueba de rendimiento publicada para todas las máquinas afectadas. Una salida correcta y una velocidad equivalente son propiedades diferentes.
La lógica de mantenimiento es más fácil de entender al verla como una elección entre implementaciones. El código especializado puede justificar su presencia cuando sirve a los usuarios o aporta un rendimiento útil. Su existencia continuada también crea material que los revisores deben comprender cuando cambia código relacionado.
El código genérico ofrece un lugar compartido para mantener el comportamiento. Eso no convierte en innecesaria toda implementación especializada. Cambia la evidencia necesaria para conservar una antigua: debería existir un beneficio práctico que valga la pena preservar.
Aquí es donde la eliminación de MMX en Linux se vuelve más interesante que un aniversario histórico. El proyecto sopesa una ruta de rendimiento restante frente a la complejidad de mantenerla. La existencia de una alternativa funcional hace posible la eliminación sin que la decisión deje de tener coste.
El tercer parche extiende esa simplificación a las comprobaciones de características del procesador, que seleccionan implementaciones adecuadas a partir de las capacidades de hardware disponibles. Biggers propone eliminar comprobaciones de requisitos previos redundantes y evitar comprobaciones repetidas de las mismas características. El código presentado conserva implementaciones más recientes, incluidas las rutas SSE2 y AVX2.
AVX2, una extensión posterior de instrucciones vectoriales, representa otra vía para procesar múltiples valores en una operación. Su presencia ilustra la comparación técnica con más claridad que una rivalidad de marcas. La cuestión es qué implementación se adapta al procesador y sigue mereciendo mantenimiento.
El nombre de Intel domina la historia porque introdujo MMX. La decisión real de mantenimiento trata de características de procesador compatibles, no de la marca del fabricante. Comparar productos históricos de Intel y AMD no resolvería si una implementación concreta del kernel sigue mereciendo su lugar.
El mismo razonamiento explica por qué una reducción en el número de líneas requiere una interpretación cuidadosa. Menos líneas describen el tamaño de un cambio en el código fuente. No miden directamente un almacenamiento más rápido, menos defectos ni una reducción específica de horas de mantenimiento.
Por tanto, el argumento más sólido para la limpieza es estructural. Una alternativa compartida conserva el cálculo, mientras la serie elimina implementaciones destinadas a una gama de capacidades más antigua. Las afirmaciones de rendimiento requieren evidencia adicional.
Visto así, la explicación de la eliminación de MMX en Linux trata sobre reducir la carga de implementación en torno a una capacidad existente. El kernel puede seguir realizando una tarea mientras retira un método histórico para realizarla. Que ese equilibrio sea correcto depende en parte de los usuarios que aún quedan.
La larga retirada de MMX refleja un pacto de mantenimiento cambiante
El hito histórico es real, pero la fecha de lanzamiento de MMX no mide la antigüedad ni el valor de cada implementación eliminada.
Intel presentó el procesador Pentium con tecnología MMX el 8 de enero de 1997. Su lanzamiento contemporáneo de Pentium MMX destacó los gráficos, el vídeo y el audio. Una tecnología comercializada en torno a una experiencia multimedia más rica en los ordenadores personales acabó sobreviviendo en cálculos de almacenamiento del kernel.
Esa historia explica por qué la propuesta atrae atención más allá del desarrollo de almacenamiento. MMX fue una característica visible para el consumidor, asociada a una época reconocible de la informática personal. Sus últimas optimizaciones en el kernel tienen un peso simbólico que el trabajo de limpieza ordinario rara vez recibe.
El simbolismo no debería ocultar la cronología real. Una extensión de instrucciones puede ser anterior al código que la utiliza. Llamar a esto la retirada de una tecnología de 1997 es exacto; asumir que cada línea de código fuente eliminada data de 1997 requeriría evidencia independiente.
La propuesta también sigue eliminaciones anteriores. Biggers señala un commit previo que eliminó las optimizaciones MMX para funciones de memoria, incluidas memcpy(), copy_page() y clear_page(). Esas funciones copian datos o inicializan memoria, actividades independientes del trabajo RAID restante.
Su retirada anterior cambia el encuadre del evento actual. Se trata de la culminación de una secuencia de limpieza más acotada, no de una decisión repentina de expulsar una tecnología de uso generalizado. RAID permaneció como un uso aislado en el kernel después de que desapareciera otro trabajo de optimización.
Una optimización histórica puede perder gradualmente su justificación original. El hardware cambia, surgen implementaciones alternativas y resulta más difícil determinar cuántas personas utilizan la ruta más antigua. El código puede seguir funcionando durante toda esa transición.
Eso plantea una cuestión recurrente de mantenimiento: ¿cuánta atención continua debe dedicar un proyecto a una ruta cuya audiencia práctica es incierta? La eliminación es una respuesta cuando la capacidad se mantiene disponible en otro lugar. Conservar el código es otra cuando los usuarios demuestran un beneficio significativo.
Ninguna de las dos posturas exige despreciar el hardware antiguo. El trabajo de preservación tiene objetivos distintos de los del mantenimiento de un kernel generalista actual. Un entusiasta puede valorar la reproducción de un comportamiento histórico incluso cuando ese comportamiento ya no justifica una implementación dedicada aguas arriba.
Lo contrario también es cierto. La nostalgia no demuestra que el código especializado tenga usuarios activos, pruebas actuales o una ventaja de rendimiento útil. Son cuestiones técnicas que merecen evidencia técnica.
La lección más amplia trata sobre los términos de la compatibilidad. Mantener disponible un algoritmo, conservar una optimización específica de un procesador y admitir una máquina completa son compromisos distintos. Un proyecto puede modificar uno mientras los demás siguen sujetos a sus propios requisitos.
Para los desarrolladores, este es un ejemplo útil de cómo el software envejece sin simplemente dejar de funcionar. Una optimización puede pasar de ser esencial a opcional y luego a ser difícil de justificar. Su retirada refleja entonces un acuerdo de mantenimiento modificado, no un juicio sobre la importancia histórica del hardware.
La evidencia ausente es el rendimiento medido en el hardware afectado
Un respaldo conservado establece una vía para seguir funcionando, no una garantía de rendimiento sin cambios.
Las descripciones de los parches disponibles explican por qué Biggers considera obsoleto el código especializado. No proporcionan una comparación medida de máquinas afectadas ejecutando cargas de trabajo de almacenamiento representativas antes y después del cambio. Eso deja sin resolver el coste práctico.
Esta laguna debería limitar las afirmaciones en ambas direcciones. Sería prematuro declarar que todos los sistemas afectados se volverán notablemente más lentos. También sería prematuro prometer que nadie lo notará.
El impacto en el rendimiento de Intel MMX depende de dónde se invierte el tiempo durante una operación real. Un cálculo más lento importa de forma distinta cuando el procesamiento es el factor limitante que cuando otro componente domina. La propuesta por sí sola no establece ese equilibrio para una máquina concreta.
Una prueba aislada de cálculo respondería una pregunta útil: cómo se compara la implementación antigua con su sustituta en condiciones controladas. Una carga de trabajo de almacenamiento respondería otra: si esa diferencia modifica el trabajo que realmente realiza un operador.
Estos resultados no deberían tratarse como intercambiables. Una diferencia visible en el rendimiento de cálculo no se traduce automáticamente en una diferencia equivalente en el rendimiento de las aplicaciones. Del mismo modo, una carga de trabajo rutinaria aceptable podría pasar por alto una operación menos frecuente que sea importante para su propietario.
Para un sistema de almacenamiento preservado, la actividad de mantenimiento podría ser tan relevante como el acceso cotidiano. Un operador podría preocuparse por las tareas de recuperación, las escrituras sostenidas o la disponibilidad del procesador durante otras tareas. Estas son áreas de evaluación propuestas, no regresiones medidas establecidas por la serie.
Por tanto, la objeción más sólida provendría de resultados reproducibles en una configuración afectada. Esa evidencia podría demostrar que la ruta especializada conserva valor práctico. Daría a los revisores algo más concreto que una suposición sobre cuántas máquinas antiguas siguen existiendo.
El respaldo más sólido combinaría la corrección continuada con un comportamiento aceptable en hardware relevante. Eso reforzaría el argumento de que la implementación compartida satisface las necesidades restantes. De nuevo, la existencia de la propuesta no sustituye esas observaciones.
Las afirmaciones de compatibilidad requieren una cautela similar. Eliminar estos archivos de optimización no establece un cambio en el formato de un array almacenado. Tampoco certifica que todo sistema antiguo pueda arrancar un kernel futuro.
Los usuarios deben evaluar el entorno de actualización completo, incluidos los requisitos de la distribución y su configuración de hardware. Un cambio limitado en el código fuente no puede responder todas las preguntas sobre el soporte futuro de una máquina. Presentarlo así confundiría decisiones independientes.
Tampoco existe aquí base para anunciar una mejora de seguridad generalizada. Reducir el código especializado puede simplificar la revisión, pero la justificación presentada no identifica una vulnerabilidad corregida por esta eliminación. Los beneficios de mantenimiento deben seguir siendo afirmaciones de mantenimiento, salvo que evidencia adicional respalde algo más.
En consecuencia, la lectura responsable es mesurada. La serie ofrece una forma creíble de reducir la complejidad heredada mientras preserva los cálculos. El debate restante se refiere al valor de la aceleración eliminada y a la evidencia necesaria para juzgar ese valor.
Siga la integración, las pruebas del respaldo y la entrega de las distribuciones
Los siguientes avances útiles son hitos observables: integración en la rama principal, pruebas en sistemas afectados y entrega mediante paquetes de kernel reales.
En primer lugar, observe si la serie llega al kernel principal y qué versión la contiene. Linux 7.5 sigue siendo el destino previsto según los informes. Una fusión confirmada reforzaría la historia específica de la versión y proporcionaría un cambio definitivo para los revisores posteriores.
Una revisión, un retraso o una retirada cambiarían esa evaluación. La propuesta más amplia seguiría documentada, pero habría que actualizar el calendario de lanzamiento previsto. Los lectores deberían evitar convertir un informe sobre el árbol de desarrollo en una nota de lanzamiento incondicional.
La versión fusionada exacta también importará. La revisión puede modificar el alcance o los detalles de implementación incluso si se mantiene la dirección general. Seguir el cambio aceptado proporciona una base más firme para el análisis de compatibilidad que depender indefinidamente de la presentación inicial.
En segundo lugar, busque resultados de corrección y rendimiento en hardware que realmente utilice las rutas que se retiran. Las pruebas en un procesador más nuevo y no relacionado no pueden resolver la experiencia de un sistema heredado afectado. La comparación relevante requiere una configuración coincidente y una carga de trabajo clara.
Un informe creíble debería distinguir entre un funcionamiento correcto y una velocidad satisfactoria. También debería explicar qué se midió y si la implementación antigua se seleccionó antes del cambio. Sin ese contexto, un resultado puede ser preciso pero irrelevante para la disyuntiva propuesta.
Los resultados aceptables reforzarían el argumento de que el código genérico puede satisfacer la necesidad restante. Una regresión reproducible con consecuencias operativas lo debilitaría. Cualquiera de los dos resultados mejoraría el debate al sustituir suposiciones por evidencia.
En tercer lugar, siga la entrega de las distribuciones. Una versión aguas arriba no establece cuándo la distribución elegida por un usuario empaquetará ese kernel ni si admitirá su máquina. La configuración de los paquetes y los requisitos del procesador siguen siendo parte de la decisión práctica de actualización.
Para alguien que mantiene un sistema antiguo, el hito significativo es un kernel disponible que se ajuste al entorno completo. Hasta entonces, la propuesta es información relevante para la planificación, no una instrucción inmediata para sustituir hardware.
Estas observaciones también mantienen la narrativa histórica en proporción. La retirada merece atención porque cierra un capítulo reconocible de la optimización del kernel. Su importancia técnica dependerá de qué se fusione, de cómo se comporten las rutas restantes y de quién se encuentre con el cambio.
Para los equipos de ingeniería, documentar estas distinciones puede evitar que un titular se convierta en una suposición de compatibilidad sin respaldo. Una base de conocimientos con capacidad de búsqueda puede conectar el parche aceptado, la configuración local y los resultados de las pruebas al evaluar actualizaciones.
Si mantiene hardware afectado, comience con la configuración que realmente utiliza y el trabajo de almacenamiento que necesita que realice. Registre la implementación seleccionada antes de probar un kernel que contenga el cambio. Compare resultados que reflejen su carga de trabajo y separe la corrección de la velocidad. Si mantiene sistemas más nuevos, siga el parche aceptado en lugar de tratar cada referencia a MMX como una advertencia de compatibilidad. La eliminación de MMX de Linux será más informativa como una decisión de mantenimiento documentada, con sus beneficios y costes vinculados a un comportamiento observable. Siga la fusión, examine los informes de pruebas relevantes y compruebe los requisitos de su distribución antes de decidir qué significa esta retirada para sus máquinas.



