← Volver a artículos
Noticias· 4 min de lectura· David Carrero Fernández-Baillo

Linux 7.4 y RISC-V: copias de memoria más rápidas en kernels de distribución, crash hotplug y la extensión B

Commit de fusión de la rama riscv-for-linus-7.4-mw1 en el repositorio de Linus Torvalds, con la lista de cambios de RISC-V enviada por Paul Walmsley
Captura: github.com/torvalds/linux (31-oct-2026)

La ventana de integración de Linux 7.4 se abrió tras la publicación de Linux 7.3 el 18 de octubre, y el 29 de octubre de 2026 Linus Torvalds fusionó la tanda de cambios de RISC-V que le envió Paul Walmsley, uno de los mantenedores de la arquitectura. Son 28 commits sin grandes titulares, pero con varias mejoras que llegarán a cualquiera que use un kernel de distribución en hardware RISC-V.

Copias a usuario más rápidas, ahora también en kernels genéricos

El cambio más práctico es de Andy Chiu. Cuando el kernel copia datos entre su memoria y la de un programa (user copy), incluye código que alinea los accesos por software para los procesadores que llevan mal los accesos desalineados. En los núcleos que los manejan bien, saltarse ese código sube el ancho de banda de la copia hasta un 11,4 %, según la medición del propio parche.

Esa optimización ya existía, pero solo al compilar: dependía de HAVE_EFFICIENT_UNALIGNED_ACCESS, que a su vez exige marcar el kernel como no portable. Ninguna distribución hace eso, porque su kernel tiene que arrancar en placas muy distintas. En Linux 7.4 la decisión pasa al arranque: el kernel mide la velocidad de los accesos desalineados y, si la CPU es rápida, convierte el salto al código de alineado en una instrucción vacía mediante una static key. El resultado es que el mismo kernel genérico de Debian, Fedora o Ubuntu aprovecha la mejora donde el hardware lo permite.

Crash hotplug y otras piezas del kernel

  • Crash hotplug (Rui Qi): si se añaden o quitan CPU o memoria en caliente, la cabecera que describe el sistema al kernel de captura de fallos (elfcorehdr) se actualiza. Sin esto, un fallo tras un cambio de topología dejaba un volcado vmcore que no se correspondía con la máquina real. La implementación sigue el modelo de x86.
  • Tablas de páginas (Jisheng Zhang): las funciones pgtable_l4_enabled() y pgtable_l5_enabled(), que dicen si se usan 4 o 5 niveles de paginación, devuelven un valor que no cambia una vez arrancado el sistema. Ahora se parchean en el arranque temprano o se fijan en Kconfig para kernels hechos a medida, con las nuevas opciones RISCV_ISA_SV48 y RISCV_ISA_SV57.
  • Cambio de contexto: se evita una lectura innecesaria del registro sstatus y se reorganiza el cambio de contexto de la unidad vectorial para optimizaciones que vendrán. Hay además un test de kselftest para la copia vectorizada.
  • PCIe: la reasignación de buses pasa a depender del indicador PCI_REASSIGN_ALL_BUS, como en ARM64.
  • RISCV_ALTERNATIVE deja de ser opcional, ahora que el soporte de kernels XIP ya se eliminó.

Extensiones nuevas que ve el espacio de usuario

Andrew Jones añade la extensión «B» a hwcap y a hwprobe, la interfaz con la que los programas preguntan qué sabe hacer la CPU. «B» agrupa las extensiones de manipulación de bits Zba, Zbb y Zbs, y el kernel garantiza que, si informa de B, también marca las tres. Así un programa puede consultarla directamente, igual que ya pasaba con F, D, C o V.

También se puede declarar e informar de Zic64b, que indica que los bloques de caché son de 64 bytes. Se ha añadido a los árboles de dispositivos de los SoC SpacemiT K1 y K3 y del Sophgo SG2044. Y la validación de los árboles de dispositivos obliga ahora a indicar el tamaño de bloque de las operaciones de gestión de caché (extensiones Zicbom, Zicbop y Zicboz).

Seguridad y erratas

Samuel Holland refuerza el shadow stack, la pila protegida contra ataques que reescriben direcciones de retorno: ahora se comprueban los límites de la dirección del token de restauración antes de usarlo, para que no sirva de vector de ataque. Otro arreglo hace que las funciones de control del shadow stack y de los destinos de salto indirecto solo toquen el registro envcfg cuando operan sobre la tarea actual.

En hardware de MIPS con RISC-V se pueden aplicar erratas desde el arranque temprano, y en los P8700 el kernel deja de usar la instrucción WFI, que tiene un fallo en ese chip, y la sustituye por mips.pause.

KVM

Por el árbol de KVM llegan también los cambios de virtualización RISC-V para 7.4: soporte del ioctl KVM_PRE_FAULT_MEMORY, un arreglo en la entrega de interrupciones entre procesadores cuando los vcpu_id no van en orden y la posibilidad de exponer a los invitados las extensiones Zicclsm, Ziccamoa, Ziccif y Za64rs.

Cuándo llega

Si se cumplen las dos semanas habituales de ventana de integración, la primera release candidate, Linux 7.4-rc1, saldrá este domingo 1 de noviembre, y la versión final hacia finales de diciembre o principios de enero. Las versiones del kernel y sus fechas las tienes en la ficha de Linux. Si quieres ver cómo se aprovechan extensiones concretas de la arquitectura en una distribución, mira cómo usar instrucciones personalizadas de RISC-V en Ubuntu. Y para comparar con un ciclo anterior, aquí tienes lo que trajo Linux 7.1.

Fuentes: merge «riscv-for-linus-7.4-mw1» y merge «kvm-riscv-7.4-1» en el árbol de Linus Torvalds; commits de Andy Chiu («riscv: optmize ucopy for has_fast_unaligned_accesses»), Rui Qi («riscv: crash: Add crash hotplug support») y Andrew Jones («riscv: Add B to hwcap and hwprobe»).