# Linux 7.4 i RISC-V: còpies de memòria més ràpides en kernels de distribució, crash hotplug i l'extensió B

- **Publicat el:** 2026-10-31
- **Categoria:** Notícies
- **Pàgina original:** https://linuxgratis.com/ca/articles/linux-7-4-risc-v

Linus Torvalds va fusionar el 29 d'octubre de 2026 els canvis de RISC-V per a Linux 7.4. L'optimització de còpies a usuari amb accessos desalineats ràpids passa a decidir-se en arrencar, així que arriba als kernels genèrics; a més hi ha crash hotplug, suport de les extensions B i Zic64b i un reforç del shadow stack.

---

La finestra d'integració de **Linux 7.4** es va obrir després de la publicació de Linux 7.3 el 18 d'octubre, i el **29 d'octubre de 2026** Linus Torvalds va fusionar la tanda de canvis de **RISC-V** que li va enviar **Paul Walmsley**, un dels mantenidors de l'arquitectura. Són 28 commits sense grans titulars, però amb diverses millores que arribaran a qualsevol que faci servir un kernel de distribució en maquinari RISC-V.

## Còpies a usuari més ràpides, ara també en kernels genèrics

El canvi més pràctic és d'**Andy Chiu**. Quan el kernel copia dades entre la seva memòria i la d'un programa (*user copy*), inclou codi que alinea els accessos per programari per als processadors que porten malament els accessos desalineats. En els nuclis que els gestionen bé, saltar-se aquest codi **puja l'amplada de banda de la còpia fins a un 11,4 %**, segons la mesura del mateix pedaç.

Aquesta optimització ja existia, però només en compilar: depenia de `HAVE_EFFICIENT_UNALIGNED_ACCESS`, que alhora obliga a marcar el kernel com a no portable. Cap distribució no ho fa, perquè el seu kernel ha d'arrencar en plaques molt diferents. A Linux 7.4 la decisió passa a l'**arrencada**: el kernel mesura la velocitat dels accessos desalineats i, si la CPU és ràpida, converteix el salt al codi d'alineació en una instrucció buida mitjançant una *static key*. El resultat és que el mateix kernel genèric de Debian, Fedora o Ubuntu aprofita la millora allà on el maquinari ho permet.

## Crash hotplug i altres peces del kernel

- **Crash hotplug** (Rui Qi): si s'afegeixen o es treuen CPU o memòria en calent, la capçalera que descriu el sistema al kernel de captura d'errors (`elfcorehdr`) s'actualitza. Sense això, un error després d'un canvi de topologia deixava un bolcat `vmcore` que no es corresponia amb la màquina real. La implementació segueix el model d'x86.
- **Taules de pàgines** (Jisheng Zhang): les funcions `pgtable_l4_enabled()` i `pgtable_l5_enabled()`, que diuen si es fan servir 4 o 5 nivells de paginació, retornen un valor que no canvia un cop arrencat el sistema. Ara es pedacen a l'arrencada primerenca o es fixen a Kconfig per a kernels fets a mida, amb les noves opcions `RISCV_ISA_SV48` i `RISCV_ISA_SV57`.
- **Canvi de context**: s'evita una lectura innecessària del registre `sstatus` i es reorganitza el canvi de context de la unitat vectorial per a optimitzacions que vindran. També hi ha un test de `kselftest` per a la còpia vectoritzada.
- **PCIe**: la reassignació de busos passa a dependre de l'indicador `PCI_REASSIGN_ALL_BUS`, com a ARM64.
- `RISCV_ALTERNATIVE` deixa de ser opcional, ara que el suport de kernels XIP ja s'ha eliminat.

## Extensions noves que veu l'espai d'usuari

**Andrew Jones** afegeix l'**extensió «B»** a `hwcap` i a `hwprobe`, la interfície amb què els programes pregunten què sap fer la CPU. «B» agrupa les extensions de manipulació de bits Zba, Zbb i Zbs, i el kernel garanteix que, si informa de B, també marca les tres. Així un programa la pot consultar directament, igual que ja passava amb F, D, C o V.

També es pot declarar i informar de **Zic64b**, que indica que els blocs de memòria cau són de 64 bytes. S'ha afegit als arbres de dispositius dels SoC **SpacemiT K1 i K3** i del **Sophgo SG2044**. I la validació dels arbres de dispositius obliga ara a indicar la mida de bloc de les operacions de gestió de memòria cau (extensions Zicbom, Zicbop i Zicboz).

## Seguretat i errates

**Samuel Holland** reforça el *shadow stack*, la pila protegida contra atacs que reescriuen adreces de retorn: ara es comproven els límits de l'adreça del testimoni de restauració abans de fer-la servir, perquè no serveixi de vector d'atac. Un altre arranjament fa que les funcions de control del shadow stack i de les destinacions de salt indirecte només toquin el registre `envcfg` quan actuen sobre la tasca actual.

En maquinari de MIPS amb RISC-V es poden aplicar errates des de l'arrencada primerenca, i als **P8700** el kernel deixa de fer servir la instrucció `WFI`, que té un error en aquest xip, i la substitueix per `mips.pause`.

## KVM

Per l'arbre de KVM arriben també els canvis de virtualització RISC-V per a la 7.4: suport de l'`ioctl` `KVM_PRE_FAULT_MEMORY`, un arranjament en el lliurament d'interrupcions entre processadors quan els `vcpu_id` no van en ordre i la possibilitat d'exposar als convidats les extensions Zicclsm, Ziccamoa, Ziccif i Za64rs.

## Quan arriba

Si es compleixen les dues setmanes habituals de finestra d'integració, la primera *release candidate*, Linux 7.4-rc1, sortirà aquest **diumenge 1 de novembre**, i la versió final cap a finals de desembre o principis de gener. Les versions del kernel i les seves dates les tens a la [fitxa de Linux](/ca/linux-kernel). Si vols veure com s'aprofiten extensions concretes de l'arquitectura en una distribució, mira com [fer servir instruccions personalitzades de RISC-V a Ubuntu](/ca/articles/ubuntu-risc-v-instrucciones-personalizadas). I per comparar amb un cicle anterior, aquí tens el que va portar [Linux 7.1](/ca/articles/linux-kernel-7-1).

**Fonts:** [merge «riscv-for-linus-7.4-mw1»](https://git.kernel.org/torvalds/c/1b8b67503725fa6deb3a4f00ea61f982bd00c152) i [merge «kvm-riscv-7.4-1»](https://git.kernel.org/torvalds/c/7e60162b16f9da0d2fa83da5c1723b6853a0ac1d) a l'arbre de Linus Torvalds; commits d'Andy Chiu («riscv: optmize ucopy for has_fast_unaligned_accesses»), Rui Qi («riscv: crash: Add crash hotplug support») i Andrew Jones («riscv: Add B to hwcap and hwprobe»).
