Como escribí a principios de esta semana, Linux 6.3 está posicionado para admitir la función IBRS automática de AMD Zen 4. El código de habilitación de Linux de AMD en torno a IBRS automático se ha estado revisando en los últimos meses y ahora, a través de la rama Git x96/cpu de TIP, se enviará el próximo mes para la ventana de combinación de Linux 6.3. Realicé algunos puntos de referencia preliminares de la compatibilidad con IBRS automático en Zen 4 y parece positivo para mejorar aún más el rendimiento de los nuevos procesadores de la serie Ryzen 7000 y la serie EPYC 9004 de AMD.

Como se explicó en artículos anteriores, el IBRS automático (especulación restringida de rama indirecta) es una característica nueva con los procesadores Zen 4 que es similar al soporte de IBRS mejorado (eIBRS) existente de Intel que se encuentra en las generaciones recientes de sus procesadores Core y Xeon. El IBRS automático/mejorado permite mitigaciones de Spectre V2 de menor sobrecarga en comparación con la técnica de”Retpolines”de trampolines de retorno existente utilizada actualmente en los procesadores AMD hasta este punto. Zen 3 y anteriores todavía usan Retpolines y Zen 4 hasta ahora ha estado usando Retpolines como la ruta de mitigación predeterminada de Spectre V2, pero al comenzar con el kernel de Linux 6.3, se usará automáticamente IBRS de forma predeterminada.

AMD se refirió brevemente a Automatic IBRS como parte de sus nuevas funciones de seguridad durante el Zen 4, pero no habló mucho sobre eso. No fue hasta principios de noviembre cuando finalmente llegaron los parches iniciales de Linux para hacer frente a Auto IBRS. Dado que esta es una característica conocida y planificada de Zen 4, es triste que AMD haya esperado hasta semanas después del lanzamiento de la serie Ryzen 7000 antes de publicar los parches del kernel de Linux, y meses después, antes de que los parches se pongan en cola y ahora se introduzcan para Linux 6.3.. La ventana de combinación 6.3 se abre a mediados de febrero, mientras que la versión estable del kernel de Linux 6.3 debería estar disponible en abril.

Para esta característica de AMD Zen 4 que AMD reconoce que”brinda un mayor rendimiento”, es triste ver que toma tanto tiempo después del lanzamiento para que esté listo para el kernel principal de Linux. Especialmente porque los gustos de Ubuntu 23.04 probablemente usarán Linux 6.2 en lugar de 6.3 de forma predeterminada, por lo que al menos en lo que respecta a los núcleos listos para usar en distribuciones de Linux de lanzamiento no continuo, es posible que algunos usuarios de AMD Zen 4 no vean esto hasta La distribución de Linux se lanzará en la segunda mitad de 2023… Y más para los usuarios de LTS/empresariales, a menos que estos parches finalmente se transfieran a series estables.

Los siete parches para esto La habilitación automática de IBRS en el kernel de Linux toca solo unas 80 líneas de código (incluida la propagación de Auto IBRS para invitados KVM) y depende también de la configuración de rutas de código existentes para la funcionalidad Intel eIBRS. Por lo tanto, es un poco frustrante que AMD no haya podido programar este trabajo para que salga antes o (idealmente) incluso antes del lanzamiento. Con eIBRS de envío prolongado de Intel, AMD revelando el prelanzamiento”Auto IBRS”para Zen 4 no habría sido nada dramático, pero ayuda un poco en el departamento de rendimiento.

El IBRS automático puede ayudar a mejorar ligeramente el rendimiento de las cargas de trabajo con alta interactividad del kernel y afectadas por las mitigaciones/Retpolines de Spectre V2. Este manejo de gastos generales más bajos que la mitigación de Retpolines puede ser particularmente beneficioso para las cargas de trabajo del servidor que tienden a ser más complicadas que las aplicaciones de escritorio convencionales, por lo que Automatic IBRS es especialmente una buena noticia para los servidores AMD EPYC”Genoa”de 4.ª generación.

Para algunas pruebas iniciales automáticas de IBRS esta semana, realicé una compilación del kernel tip/tip.git x86/cpu Git en un escritorio AMD Ryzen 9 7950X para ver cómo se compara el rendimiento con el Linux 6.2 Git actual usando la misma configuración del kernel. Arrancando en el nuevo kernel con el código esperado para Linux 6.3, de hecho, el Ryzen 9 7950X de forma predeterminada en la mitigación automática de IBRS para la mitigación de Spectre V2 en comparación con el enfoque actual de Retpoline.

Este AMD Ryzen 9 7950X, AMD Radeon RX 6800 XT, ASUS ROG CROSSHAIR X670E HERO, 2 memorias DDR5-6000 de 16 GB y WD_BLACK SN850X 2TB NVMe SSD de escritorio mostró un mejor rendimiento para el kernel habilitado para IBRS automático para cargas de trabajo con interacciones de kernel altas/sensibles a las mitigaciones de Spectre V2.

Las cargas de trabajo como Redis, PostgreSQL, DragonflyDB y otras disfrutaban de un rendimiento ligeramente superior o superior al seguir la ruta IBRS automática en comparación con las Retpolines utilizadas hasta este momento en Zen 4. Una vez más, esto será muy emocionante para El rendimiento de la serie AMD EPYC 9004 con más cargas de trabajo tiende a ser susceptible al impacto de la mitigación. Debo tener algunos puntos de referencia de la serie AMD EPYC 9004 la próxima semana con el IBRS automático habilitado en una amplia gama (cientos) de cargas de trabajo… Mi único servidor AMD EPYC Genoa estaba lamentablemente atado con otros puntos de referencia en este momento. Por lo tanto, la ejecución de hoy es solo un comienzo para tener una idea de la diferencia de Automatic IBRS dado que AMD no había publicado ninguna números de referencia y ninguna otra información pública que haya visto sobre las expectativas de Automatic IBRS en relación con Retpolines.

Esta habilitación de Automatic IBRS con el kernel de Linux se ve bien para ayudar a exprimir un poco más el rendimiento de los procesadores Zen 4 para algunas cargas de trabajo, pero es lamentable que esto no estuviera ya programado para el día del lanzamiento… Especialmente dada la alineación de lanzamiento del kernel de Linux ascendente y la adopción de la distribución/proveedor de que aún pueden pasar meses antes de que los usuarios de Ryzen 7000/EPYC 9004 encuentren Automatic IBRS siendo utilizado sobre Retpolines.

Más allá de IBRS automático, Linux 6.3 puede ser aún más emocionante para los clientes de AMD Linux también si el código del controlador AMD P-State EPP logra completarse a tiempo entre otros parches que aún tienen tiempo para establecerse en las próximas semanas.

Categories: IT Info