From: Nicolin Chen <nicolinc@nvidia.com>
To: Shuai Xue <xueshuai@linux.alibaba.com>
Cc: <will@kernel.org>, <robin.murphy@arm.com>, <joro@8bytes.org>,
<jgg@nvidia.com>, <praan@google.com>, <kevin.tian@intel.com>,
<smostafa@google.com>, <linux-arm-kernel@lists.infradead.org>,
<iommu@lists.linux.dev>, <linux-kernel@vger.kernel.org>,
<jamien@nvidia.com>, <kas@kernel.org>,
Cristian Prundeanu <cpru@amazon.com>,
Breno Leitao <leitao@kernel.org>
Subject: Re: [PATCH v11 00/11] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump
Date: Sat, 17 Oct 2026 11:52:47 -0700 [thread overview]
Message-ID: <atPD/yTKA1Jw3bS1@nvidia.com> (raw)
In-Reply-To: <27f2e050-10c0-4a77-8d59-00a95a162912@linux.alibaba.com>
On Sat, Oct 17, 2026 at 04:19:20PM +0800, Shuai Xue wrote:
> We tested this series (v11, backported onto our 6.6-based kernel) on two
> arm64 server platforms that differ in how PCIe errors are reported: one
> with firmware-first reporting (GHES/CPER), the other with OS-first AER
> plus DPC. The test triggers a kdump crash (echo c > /proc/sysrq-trigger)
> on an otherwise idle machine and compares the capture kernel's dmesg
> between the unpatched baseline and the kernel carrying this series.
>
> On the firmware-first platform (10 SMMUv3 instances):
>
> Unpatched, every SMMU logs:
>
> arm-smmu-v3.0.auto: SMMU currently enabled! Resetting...
>
> and the destructive reset immediately aborts in-flight DMA. The capture
> kernel then drowns in a storm of GHES/CPER records together with PCIe
> AER "Poisoned TLP" (Data Link Layer) errors from the devices that were
> bus-mastering at crash time. Devices behind the reset SMMUs fail to
> recover in the capture kernel, and in some runs the capture kernel
> hangs in the error storm instead of saving the vmcore.
>
> With the series applied, all 10 SMMUs log:
>
> arm-smmu-v3.0.auto: kdump: retaining SMMUEN for in-flight DMA
>
> and the capture kernel boots with zero AER/GHES error records. A
> complete vmcore is saved and the machine reboots normally.
>
> On the OS-first AER/DPC platform (8 SMMUv3 instances):
>
> Unpatched: 8x "SMMU currently enabled! Resetting..." followed within
> seconds by PCIe AER Completion Abort errors reported by the root
> complex, along with DPC containment events and EDR notifications. The
> NICs behind the contained link never recover in the capture kernel.
>
> With the series applied: 8x "kdump: retaining SMMUEN for in-flight DMA",
> no PCIe error events at all, a complete vmcore and a clean reboot.
>
> The baseline symptom is load-independent: it reproduces on idle machines,
> since even an idle server has periodic DMA in flight (NIC rings, NVMe
> admin queues, etc.).
>
> Overall, on both platforms this series turns a capture-kernel boot that
> used to be buried under fatal PCIe error storms into a quiet one that
> reliably produces a usable vmcore.
>
> Please feel free to add:
>
> Tested-by: Shuai Xue <xueshuai@linux.alibaba.com>
Thanks for the test report. I'll add your tag in v12 (on rc1).
Nicolin
prev parent reply other threads:[~2026-10-17 18:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 19:30 [PATCH v11 00/11] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 01/11] iommu/arm-smmu-v3: Init the vmid_map ida before the stream table setup Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 02/11] iommu/arm-smmu-v3: Make the ASID space per SMMU instance Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 03/11] iommu/arm-smmu-v3: Swap EVTQ_MSI_INDEX and GERROR_MSI_INDEX Nicolin Chen
2026-10-13 14:49 ` Jason Gunthorpe
2026-10-13 17:41 ` Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 04/11] iommu/arm-smmu-v3: Add ARM_SMMU_FEAT_EVTQ for the event queue Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 05/11] iommu/arm-smmu-v3: Disable the EVTQ and the PRIQ in a kdump kernel Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 06/11] iommu/arm-smmu-v3: Add ARM_SMMU_OPT_KDUMP_ADOPT for " Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 07/11] iommu/arm-smmu-v3-kexec: Reserve crashed kernel's ASIDs and VMIDs Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 08/11] iommu/arm-smmu-v3-kexec: Implement is_attach_deferred() Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 09/11] iommu/arm-smmu-v3: Retain CR0_SMMUEN during kdump device reset Nicolin Chen
2026-10-13 14:49 ` Jason Gunthorpe
2026-10-05 19:30 ` [PATCH v11 10/11] iommu/arm-smmu-v3: Skip RMR bypass for kdump adoption Nicolin Chen
2026-10-05 19:30 ` [PATCH v11 11/11] iommu/arm-smmu-v3: Detect ARM_SMMU_OPT_KDUMP_ADOPT in probe() Nicolin Chen
2026-10-05 20:48 ` [PATCH v11 00/11] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump Nicolin Chen
2026-10-17 8:19 ` Shuai Xue
2026-10-17 11:40 ` Jason Gunthorpe
2026-10-17 18:52 ` Nicolin Chen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=atPD/yTKA1Jw3bS1@nvidia.com \
--to=nicolinc@nvidia.com \
--cc=cpru@amazon.com \
--cc=iommu@lists.linux.dev \
--cc=jamien@nvidia.com \
--cc=jgg@nvidia.com \
--cc=joro@8bytes.org \
--cc=kas@kernel.org \
--cc=kevin.tian@intel.com \
--cc=leitao@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=praan@google.com \
--cc=robin.murphy@arm.com \
--cc=smostafa@google.com \
--cc=will@kernel.org \
--cc=xueshuai@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.