Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Mostafa Saleh <smostafa@google.com>
Cc: iommu@lists.linux.dev, "Joerg Roedel (AMD)" <joro@8bytes.org>,
	Jean-Philippe Brucker <jpb@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Robin Murphy <robin.murphy@arm.com>,
	Will Deacon <will@kernel.org>,
	David Matlack <dmatlack@google.com>,
	Pasha Tatashin <pasha.tatashin@soleen.com>,
	patches@lists.linux.dev, Pranjal Shrivastava <praan@google.com>,
	Samiullah Khawaja <skhawaja@google.com>
Subject: Re: [PATCH 0/7] Use the generic iommu page table for SMMUv3
Date: Fri, 24 Jul 2026 21:42:32 -0300	[thread overview]
Message-ID: <amQGeHirwgEEJVkf@nvidia.com> (raw)
In-Reply-To: <amO-sGlWsmtcPsDZ@google.com>

On Fri, Jul 24, 2026 at 07:36:16PM +0000, Mostafa Saleh wrote:
> On Mon, Jul 06, 2026 at 01:29:06PM -0300, Jason Gunthorpe wrote:
> > [ This is the last patch to move SMMUv3 over to the generic page
> >   table:
> > 1) Organize the SMMUv3 invalidation flow so iommupt can use it
> >   ..
> > 2) Use the generic iommu page table for SMMUv3
> > 
> > It depends on #1
> > 
> > The whole branch is here:
> >    https://github.com/jgunthorpe/linux/commits/iommu_pt_arm64/
> > ]
> > 
> > Introduce the generic page table for what the ARM spec calls VMSAv8-64
> > (ie the long 64 bit PTE page table, io-pgtable-arm.c) and use it for
> > SMMUv3. ARM is by far the most complex page table of all the ones
> > implemented, it has the most runtime behavior variations and a lot of
> > features.
> > 
> > Like the othe architectures, the page table itself is supported by a kunit
> > compare test that runs operations through both io-pgtable-arm.c and the
> > new code then checks for identical PTEs. This is on the github link above
> > but I don't intend to merge it.
> > 
> > The existing kunit tests for iommupt will automatically cover the new
> > format as well.
> > 
> > This is the final series migrating the SMMUv3 driver over to use the new
> > functions and remove io-pgtable-arm.c usage. In principle the other iommu
> > drivers that use io-pgtable-arm could be converted someday as well.
> > 
> > Robin once mentioned there were errata about contiguous bits, I only found
> > 3673557 and it is mitigated in this design by always using RIL. I'm
> > assuming that RIL is always available in SMMUs that are effected by
> > 3673557? I have a patch add a FEAT if for contiguous bits if that is
> > required.
> > 
> > Jason Gunthorpe (7):
> >   iommupt: Remove the sanity check for pt_num_items_lg2() at the top
> >     level
> >   iommupt/kunit: Skip test configs without supported features
> >   iommupt: Add the 64 bit ARMv8 page table format
> >   iommu/arm-smmu-v3: Remove io-pgtable-arm from sva.c
> >   iommu/arm-smmu-v3: Move the DMA API comment to flush_iotlb_all
> >   iommu/arm-smmu-v3: Use the generic iommu page table
> >   iommu: Remove pgsize from iommu_iotlb_gather
> 
> I went through the series, it seems the arm work plug in nicely with
> the iommupt stuff, I left some comments around, but I feel that
> patches 1,2 and 5 can be sent separately.

Yeah, I can probably do that

> And patch 8 it too large to review, it would be better to split into
> 3-6 patches, I was thinking: base support, dirty tracking, contig bit
> aarch32 and kunit.

I'd rather not have patches creating unique things that don't need to
exist eg a version without contig or something like that. It is too
much busy work to go and test all of that. Clean splits like around
the kunit and dirty tracking are OK, but I didn't feel it reduces the
reviewer burden.

But yeah, arm is uniquely large because of it's complexity.

Thanks,
Jason


      reply	other threads:[~2026-07-25  0:42 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06 16:29 [PATCH 0/7] Use the generic iommu page table for SMMUv3 Jason Gunthorpe
2026-07-06 16:29 ` [PATCH 1/7] iommupt: Remove the sanity check for pt_num_items_lg2() at the top level Jason Gunthorpe
2026-07-24 17:49   ` Mostafa Saleh
2026-07-06 16:29 ` [PATCH 2/7] iommupt/kunit: Skip test configs without supported features Jason Gunthorpe
2026-07-06 16:29 ` [PATCH 3/7] iommupt: Add the 64 bit ARMv8 page table format Jason Gunthorpe
2026-07-24 19:24   ` Mostafa Saleh
2026-07-25  1:12     ` Jason Gunthorpe
2026-07-06 16:29 ` [PATCH 4/7] iommu/arm-smmu-v3: Remove io-pgtable-arm from sva.c Jason Gunthorpe
2026-07-24 19:26   ` Mostafa Saleh
2026-07-06 16:29 ` [PATCH 5/7] iommu/arm-smmu-v3: Move the DMA API comment to flush_iotlb_all Jason Gunthorpe
2026-07-24 19:26   ` Mostafa Saleh
2026-07-06 16:29 ` [PATCH 6/7] iommu/arm-smmu-v3: Use the generic iommu page table Jason Gunthorpe
2026-07-24 19:30   ` Mostafa Saleh
2026-07-25  0:31     ` Jason Gunthorpe
2026-07-06 16:29 ` [PATCH 7/7] iommu: Remove pgsize from iommu_iotlb_gather Jason Gunthorpe
2026-07-24 19:36 ` [PATCH 0/7] Use the generic iommu page table for SMMUv3 Mostafa Saleh
2026-07-25  0:42   ` Jason Gunthorpe [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=amQGeHirwgEEJVkf@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=dmatlack@google.com \
    --cc=iommu@lists.linux.dev \
    --cc=joro@8bytes.org \
    --cc=jpb@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=pasha.tatashin@soleen.com \
    --cc=patches@lists.linux.dev \
    --cc=praan@google.com \
    --cc=robin.murphy@arm.com \
    --cc=skhawaja@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox