Thread (36 messages) 36 messages, 6 authors, 2d ago

Re: [PATCH v10 00/13] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump

flat view

From: Cristian Prundeanu <hidden>
Date: 2026-09-28 15:23:41
Also in: linux-iommu, lkml

On Sun, Aug 30, 2026 at 04:18:01PM -0700, Nicolin Chen wrote:
To safely absorb in-flight DMA, the kdump kernel must leave SMMUEN=1 intact
and avoid modifying STRTAB_BASE. This allows HW to continue translating in-
flight DMA using the crashed kernel's page tables until the endpoint device
drivers probe and quiesce their respective hardware.
Tested v10 on AWS Graviton4 bare metal (m8g.metal-24xl: Neoverse V2, single
SMMUv3 with a 2-level stream table). On this platform, if the SMMU aborts a
NIC DMA read, firmware resets the host. An unpatched kernel fails kdump when
the NIC is still fetching from memory as the SMMU probe installs a fresh
stream table.

Reproducer: sysrq-c while the NIC receives ~100 kpps of UDP over 64 flows,
spread across most RX queues. The kdump initramfs omits the NIC driver, so
nothing quiesces the device.

Results using Amazon Linux 2023 with kdump kernel 6.18.39:

- Unpatched: 2/2 failures. The SMMU logs read and write translation aborts 
  ~2.5 s after the panic, and the host resets before the vmcore is written.

- v7.3-rc1 + this series: 3/3 complete vmcores, no translation aborts.
  The kdump kernel logs "kdump: adopting crashed kernel's stream table"
  and "kdump: retaining SMMUEN for in-flight DMA". In one run the NIC
  driver was present, so the device was also re-probed and reset.

Tested-by: Cristian Prundeanu <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help