Re: [PATCH v9 02/12] iommu/arm-smmu-v3: Skip EVTQ/PRIQ setup in kdump kernel
From: Jason Gunthorpe
Date: Fri Aug 21 2026 - 19:18:01 EST
> @@ -4821,21 +4821,36 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu)
> arm_smmu_cmdq_issue_cmd_with_sync(
> smmu, arm_smmu_make_cmd_op(CMDQ_OP_TLBI_NSNH_ALL));
>
> - /* Event queue */
> - writeq_relaxed(smmu->evtq.q.q_base, smmu->base + ARM_SMMU_EVTQ_BASE);
> - writel_relaxed(smmu->evtq.q.llq.prod, smmu->page1 + ARM_SMMU_EVTQ_PROD);
> - writel_relaxed(smmu->evtq.q.llq.cons, smmu->page1 + ARM_SMMU_EVTQ_CONS);
> + /*
> + * Event queue
> + *
> + * Do not enable in a kdump case, as the crashed kernel's CDs and page
> + * tables may be corrupted, triggering event spamming. A disabled queue
> + * simply discards new events, without raising any global error.
> + */
> + if (!is_kdump_kernel()) {
same remark about a FEAT_EVTQ
> - /* 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?
The logic still looks OK to me
--
Jason