Re: [PATCH v10 04/13] iommu/arm-smmu-v3: Disable the EVTQ and the PRIQ in a kdump kernel
From: Kiryl Shutsemau
Date: Wed Sep 02 2026 - 07:33:00 EST
On Sun, Aug 30, 2026 at 04:18:05PM -0700, Nicolin Chen wrote:
> A kdump kernel cannot use either queue. The crashed kernel's CDs and page
> tables might be corrupted, so events would spam the EVTQ, and there is no
> way to serve the page requests that would arrive at the PRIQ.
>
> The reset routine still enables both of the queues and then masks the two
> enable bits back out, having already programmed the queue bases and taken
> the interrupts of both.
>
> Clear ARM_SMMU_FEAT_EVTQ and ARM_SMMU_FEAT_PRI in the probe instead, so all
> of the queue handling, i.e. the interrupts, the IRQ_CTRL bits and the CR0
> enables, keeps away from a kdump kernel via the feature tests.
>
> Both queues also go unallocated now, as the two allocations test the same
> features. Each of them is sized from the maxima that IDR1 advertises, so up
> to 4MB apiece on a 4K-page kernel, which a kdump kernel would otherwise pay
> for every SMMU instance out of a small crashkernel reservation.
>
> The IOPF workqueue of the event queue stays allocated here, as untangling
> it from the SVA and the stall features takes a pair of changes carried by
> the PRI series. It costs a struct and a workqueue rather than the megabytes
> that the two queues take, so leave it to that series.
>
> Suggested-by: Kevin Tian <kevin.tian@xxxxxxxxx>
> Suggested-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Suggested-by: Kiryl Shutsemau (Meta) <kas@xxxxxxxxxx>
> Suggested-by: Will Deacon <will@xxxxxxxxxx>
> Link: https://lore.kernel.org/all/amiBagGKn-Aym1DK@willie-the-truck/
> Assisted-by: Claude:claude-opus-5
> Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx>
Acked-by: Kiryl Shutsemau (Meta) <kas@xxxxxxxxxx>
--
Kiryl Shutsemau / Kirill A. Shutemov