Re: [PATCH v9 02/12] iommu/arm-smmu-v3: Skip EVTQ/PRIQ setup in kdump kernel
From: Nicolin Chen
Date: Sat Aug 22 2026 - 14:22:27 EST
On Fri, Aug 21, 2026 at 08:15:25PM -0300, Jason Gunthorpe wrote:
> > @@ -4821,21 +4821,36 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu)
> > - /* PRI queue */
> > - if (smmu->features & ARM_SMMU_FEAT_PRI) {
> > + /*
> > + * PRI queue
> > + *
> > + * Do not enable in a kdump case, as we cannot serve page requests.
> > + */
> > + if (!is_kdump_kernel() && (smmu->features & ARM_SMMU_FEAT_PRI)) {
> > writeq_relaxed(smmu->priq.q.q_base,
>
> I'm reading this again and wondering why not drop FEAT_PRI much earlier so we
> don't need this is_kdump_kernel() here?
Yes. I added this:
@@ -5371,6 +5351,15 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu)
if (arm_smmu_sva_supported(smmu))
smmu->features |= ARM_SMMU_FEAT_SVA;
+ /*
+ * A kdump kernel wants neither queue: the crashed kernel's CDs and page
+ * tables might be corrupted, spamming events, and page requests cannot
+ * be served. A disabled queue discards new records without raising any
+ * global error.
+ */
+ if (is_kdump_kernel())
+ smmu->features &= ~(ARM_SMMU_FEAT_EVTQ | ARM_SMMU_FEAT_PRI);
+
dev_info(smmu->dev, "oas %lu-bit (features 0x%08x)\n",
smmu->oas, smmu->features);
Thanks
Nicolin