From: Nicolin Chen <nicolinc@nvidia.com>
To: Will Deacon <will@kernel.org>
Cc: Jason Gunthorpe <jgg@nvidia.com>, <robin.murphy@arm.com>,
<joro@8bytes.org>, <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>
Subject: Re: [PATCH v10 06/13] iommu/arm-smmu-v3: Add ARM_SMMU_OPT_KDUMP_ADOPT for kdump kernel
Date: Mon, 5 Oct 2026 01:04:00 -0700 [thread overview]
Message-ID: <asNZ8HnRQnzIO9nZ@nvidia.com> (raw)
In-Reply-To: <asNE8YMbOUq0sncP@willie-the-truck>
On Mon, Oct 05, 2026 at 07:34:25AM +0100, Will Deacon wrote:
> On Sun, Oct 04, 2026 at 01:59:04PM -0700, Nicolin Chen wrote:
> > On Sun, Oct 04, 2026 at 01:35:01PM -0300, Jason Gunthorpe wrote:
> > > On Sun, Oct 04, 2026 at 02:25:07PM +0100, Will Deacon wrote:
> > > > > + * - A structural inconsistency at adoption time tosses the entire adoption and
> > > > > + * makes the SMMU fall back to a full reset blocking in-flight DMAs.
> > > > > + * - L2 stream tables are adopted lazily at master-inserting time, to bound the
> > > > > + * peak memory use against a corrupted L1 table; any lazy L2 adoption failure
> > > > > + * rejects that device alone, as its blast radius is bounded to the bus.
> > > > > + * - Only a coherent SMMU (ARM_SMMU_FEAT_COHERENCY) is supported, as the stream
> > > > > + * table adoption is done by memremap with MEMREMAP_WB, which is verified on
> > > > > + * the real hardware. Callers of these functions are responsible for gating
> > > > > + * ARM_SMMU_FEAT_COHERENCY once during the probe.
> > > >
> > > > This is an artificial restriction and not one that I'm wild about for kdump:
> > > > we should be able to support this for non-coherent SMMUs as well. Is there
> > > > anything more to it than using MEMREMAP_WC in that case?
> > >
> > > I've forgotten why it ended up like this, it was some complication
> > > that seemed hard.. MEMREMAP_WC is not the same attribute dma coherent
> > > would have used, I'm not sure we have the right stuff to be able to
> > > flush any write combining buffer? I'm nervous about that at least.
> > >
> > > Remember this is not just reading it but it has to operate like this
> > > after the fact. In handover you wanted to use the dma cohernent
> > > preservation.
> > >
> > > So, I think this restriction is mostly a lack of the right MEMREMAP
> > > flag? It is not insovlable just work outside the scope of this series.
> >
> > I agree that it's safer to defer that to a followup series. It
> > also needs someone who has a non-coherent HW for a full test.
> >
> > On the other hand, this series is tested by folks from multiple
> > organizations, so it's really a needed and verified one.
>
> I wasn't disputing that, though. I'm saying that it's half finished
> without the non-coherent part, so I'd like to understand what's needed
> to add that. Can you please explain what is needed beyond using
> MEMREMAP_WC? That maps to Normal-NC on arm64, just like the DMA API does.
I am not aware of anything beyond MEMREMAP_WC.
It should likely need a helper to select flag:
ARM_SMMU_FEAT_COHERENCY ? MEMREMAP_WB : MEMREMAP_WC
and a verification on a non-coherent SMMU.
Thanks
Nicolin
next prev parent reply other threads:[~2026-10-05 8:04 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-30 23:18 [PATCH v10 00/13] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 01/13] iommu/arm-smmu-v3: Init the vmid_map ida before the stream table setup Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 02/13] iommu/arm-smmu-v3: Make the ASID space per SMMU instance Nicolin Chen
2026-09-23 16:39 ` Jason Gunthorpe
2026-10-04 13:23 ` Will Deacon
2026-10-04 16:22 ` Jason Gunthorpe
2026-08-30 23:18 ` [PATCH v10 03/13] iommu/arm-smmu-v3: Add ARM_SMMU_FEAT_EVTQ for the event queue Nicolin Chen
2026-09-02 11:21 ` Kiryl Shutsemau
2026-09-23 16:39 ` Jason Gunthorpe
2026-10-04 13:24 ` Will Deacon
2026-10-04 20:20 ` Nicolin Chen
2026-10-05 4:37 ` Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 04/13] iommu/arm-smmu-v3: Disable the EVTQ and the PRIQ in a kdump kernel Nicolin Chen
2026-09-02 11:22 ` Kiryl Shutsemau
2026-09-23 16:39 ` Jason Gunthorpe
2026-08-30 23:18 ` [PATCH v10 05/13] iommu/arm-smmu-v3: Add strtab parse helpers to a new arm-smmu-v3-kexec.c Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 06/13] iommu/arm-smmu-v3: Add ARM_SMMU_OPT_KDUMP_ADOPT for kdump kernel Nicolin Chen
2026-10-04 13:25 ` Will Deacon
2026-10-04 16:35 ` Jason Gunthorpe
2026-10-04 20:59 ` Nicolin Chen
2026-10-05 6:34 ` Will Deacon
2026-10-05 8:04 ` Nicolin Chen [this message]
2026-10-04 20:47 ` Nicolin Chen
2026-10-05 6:32 ` Will Deacon
2026-10-05 7:56 ` Nicolin Chen
2026-10-05 8:10 ` Will Deacon
2026-08-30 23:18 ` [PATCH v10 07/13] iommu/arm-smmu-v3-kexec: Add a CD table parse helper Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 08/13] iommu/arm-smmu-v3-kexec: Add ASID/VMID reservation helpers Nicolin Chen
2026-09-23 16:39 ` Jason Gunthorpe
2026-08-30 23:18 ` [PATCH v10 09/13] iommu/arm-smmu-v3-kdump: Reserve crashed kernel's ASIDs and VMIDs Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 10/13] iommu/arm-smmu-v3-kdump: Implement is_attach_deferred() Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 11/13] iommu/arm-smmu-v3: Retain CR0_SMMUEN during kdump device reset Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 12/13] iommu/arm-smmu-v3: Skip RMR bypass for kdump adoption Nicolin Chen
2026-08-30 23:18 ` [PATCH v10 13/13] iommu/arm-smmu-v3: Detect ARM_SMMU_OPT_KDUMP_ADOPT in probe() Nicolin Chen
2026-09-14 10:41 ` [PATCH v10 00/13] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump Breno Leitao
2026-09-28 15:23 ` Cristian Prundeanu
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=asNZ8HnRQnzIO9nZ@nvidia.com \
--to=nicolinc@nvidia.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=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 \
/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.