From: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
To: Robin Murphy <robin.murphy@arm.com>,
iommu@lists.linux.dev, linux-kernel@vger.kernel.org
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
Steven Price <steven.price@arm.com>,
Suzuki K Poulose <Suzuki.Poulose@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Jiri Pirko <jiri@resnulli.us>, Jason Gunthorpe <jgg@ziepe.ca>,
Mostafa Saleh <smostafa@google.com>,
Petr Tesarik <ptesarik@suse.com>,
Alexey Kardashevskiy <aik@amd.com>,
Dan Williams <dan.j.williams@intel.com>,
Xu Yilun <yilun.xu@linux.intel.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Russell King <linux@armlinux.org.uk>,
Huacai Chen <chenhuacai@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
x86@kernel.org
Subject: Re: [PATCH v5 5/6] dma: swiotlb: Add an overridable architecture pool opt-out
Date: Wed, 23 Sep 2026 19:48:13 +0530 [thread overview]
Message-ID: <yq5azex8126y.fsf@kernel.org> (raw)
In-Reply-To: <8c9c04ae-cba7-4096-a7d1-70b90a46c161@arm.com>
Robin Murphy <robin.murphy@arm.com> writes:
> On 21/09/2026 7:36 am, Aneesh Kumar K.V (Arm) wrote:
>> On x86, iommu=off historically prevented SWIOTLB initialization by not
>> setting SWIOTLB_INIT_ADDRESSING_LIMIT. This overloads that flag: it
>> controls both whether a pool is selected and where the pool is
>> allocated. If another requirement, swiotlb=force selects a pool
>> independently, omitting SWIOTLB_INIT_ADDRESSING_LIMIT may place it above
>> the addressable range of devices which need bounce buffering.
>
> Well then surely something is wrong with the design? If
> SWIOTLB_INIT_ADDRESSING_LIMIT is set then SWIOTLB still needs to respect
> it irrespective of any *additional* reasons for activating (either from
> arch code or internally). And conversely, if devices have addressing
> limits but SWIOTLB_INIT_ADDRESSING_LIMIT is *not* set, then the arch
> code has clearly gone wrong or made a bad assumption, but that doesn't
> seem like SWIOTLB's problem to worry about.
>
That is what this patch does. It sets SWIOTLB_INIT_ADDRESSING_LIMIT
based on max_possible_pfn, while SWIOTLB_INIT_FORCE_DISABLE allows the
architecture to opt out of SWIOTLB initialization independently.
>
>> Add SWIOTLB_INIT_FORCE_DISABLE to let an architecture opt out of normal
>> pool initialization without discarding the pool placement constraints.
>>
>> Unlike swiotlb_force_disable, which is set by swiotlb=noforce and
>> unconditionally prevents pool initialization, the new flag is an
>> architecture default. Explicit requirements such as memory encryption,
>> architecture remapping, or swiotlb=force take precedence over it.
>
> Logically, that should already be implied by the architecture passing no
> SWIOTLB_INIT flags.
>
We now have a case where max_possible_pfn causes
SWIOTLB_INIT_ADDRESSING_LIMIT to be set, while the kernel command line
specifies iommu=off. We want to disable SWIOTLB in this case even though
the SWIOTLB_INIT flags are nonzero.
-aneesh
WARNING: multiple messages have this Message-ID (diff)
From: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
To: Robin Murphy <robin.murphy@arm.com>,
iommu@lists.linux.dev, linux-kernel@vger.kernel.org
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
Steven Price <steven.price@arm.com>,
Suzuki K Poulose <Suzuki.Poulose@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Jiri Pirko <jiri@resnulli.us>, Jason Gunthorpe <jgg@ziepe.ca>,
Mostafa Saleh <smostafa@google.com>,
Petr Tesarik <ptesarik@suse.com>,
Alexey Kardashevskiy <aik@amd.com>,
Dan Williams <dan.j.williams@intel.com>,
Xu Yilun <yilun.xu@linux.intel.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Russell King <linux@armlinux.org.uk>,
Huacai Chen <chenhuacai@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
x86@kernel.org
Subject: Re: [PATCH v5 5/6] dma: swiotlb: Add an overridable architecture pool opt-out
Date: Wed, 23 Sep 2026 19:48:13 +0530 [thread overview]
Message-ID: <yq5azex8126y.fsf@kernel.org> (raw)
In-Reply-To: <8c9c04ae-cba7-4096-a7d1-70b90a46c161@arm.com>
Robin Murphy <robin.murphy@arm.com> writes:
> On 21/09/2026 7:36 am, Aneesh Kumar K.V (Arm) wrote:
>> On x86, iommu=off historically prevented SWIOTLB initialization by not
>> setting SWIOTLB_INIT_ADDRESSING_LIMIT. This overloads that flag: it
>> controls both whether a pool is selected and where the pool is
>> allocated. If another requirement, swiotlb=force selects a pool
>> independently, omitting SWIOTLB_INIT_ADDRESSING_LIMIT may place it above
>> the addressable range of devices which need bounce buffering.
>
> Well then surely something is wrong with the design? If
> SWIOTLB_INIT_ADDRESSING_LIMIT is set then SWIOTLB still needs to respect
> it irrespective of any *additional* reasons for activating (either from
> arch code or internally). And conversely, if devices have addressing
> limits but SWIOTLB_INIT_ADDRESSING_LIMIT is *not* set, then the arch
> code has clearly gone wrong or made a bad assumption, but that doesn't
> seem like SWIOTLB's problem to worry about.
>
That is what this patch does. It sets SWIOTLB_INIT_ADDRESSING_LIMIT
based on max_possible_pfn, while SWIOTLB_INIT_FORCE_DISABLE allows the
architecture to opt out of SWIOTLB initialization independently.
>
>> Add SWIOTLB_INIT_FORCE_DISABLE to let an architecture opt out of normal
>> pool initialization without discarding the pool placement constraints.
>>
>> Unlike swiotlb_force_disable, which is set by swiotlb=noforce and
>> unconditionally prevents pool initialization, the new flag is an
>> architecture default. Explicit requirements such as memory encryption,
>> architecture remapping, or swiotlb=force take precedence over it.
>
> Logically, that should already be implied by the architecture passing no
> SWIOTLB_INIT flags.
>
We now have a case where max_possible_pfn causes
SWIOTLB_INIT_ADDRESSING_LIMIT to be set, while the kernel command line
specifies iommu=off. We want to disable SWIOTLB in this case even though
the SWIOTLB_INIT flags are nonzero.
-aneesh
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-09-23 14:18 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 6:36 [PATCH v5 0/6] dma: swiotlb: Centralize default pool policy and sizing Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` [PATCH v5 1/6] dma: swiotlb: Centralize default pool policy selection Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` Aneesh Kumar K.V (Arm)
2026-09-21 6:56 ` sashiko-bot
2026-09-21 15:25 ` Robin Murphy
2026-09-21 15:25 ` Robin Murphy
2026-09-22 5:32 ` Aneesh Kumar K.V
2026-09-22 5:32 ` Aneesh Kumar K.V
2026-09-21 6:36 ` [PATCH v5 2/6] dma: swiotlb: Track whether the pool size was explicitly set Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` Aneesh Kumar K.V (Arm)
2026-09-21 6:44 ` sashiko-bot
2026-09-21 12:50 ` Catalin Marinas
2026-09-21 12:50 ` Catalin Marinas
2026-09-21 15:45 ` Robin Murphy
2026-09-21 15:45 ` Robin Murphy
2026-09-22 5:42 ` Aneesh Kumar K.V
2026-09-22 5:42 ` Aneesh Kumar K.V
2026-09-21 6:36 ` [PATCH v5 3/6] dma: swiotlb: Centralize minimal pool sizing Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` Aneesh Kumar K.V (Arm)
2026-09-21 6:45 ` sashiko-bot
2026-09-21 12:52 ` Catalin Marinas
2026-09-21 12:52 ` Catalin Marinas
2026-09-21 16:49 ` Robin Murphy
2026-09-21 16:49 ` Robin Murphy
2026-09-22 6:56 ` Aneesh Kumar K.V
2026-09-22 6:56 ` Aneesh Kumar K.V
2026-09-21 6:36 ` [PATCH v5 4/6] dma: swiotlb: Centralize memory-encryption " Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` Aneesh Kumar K.V (Arm)
2026-09-21 6:52 ` sashiko-bot
2026-09-22 7:02 ` Aneesh Kumar K.V
2026-09-23 12:47 ` Robin Murphy
2026-09-23 12:47 ` Robin Murphy
2026-09-23 14:28 ` Aneesh Kumar K.V
2026-09-23 14:28 ` Aneesh Kumar K.V
2026-09-21 6:36 ` [PATCH v5 5/6] dma: swiotlb: Add an overridable architecture pool opt-out Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` Aneesh Kumar K.V (Arm)
2026-09-21 6:51 ` sashiko-bot
2026-09-22 7:04 ` Aneesh Kumar K.V
2026-09-23 13:04 ` Robin Murphy
2026-09-23 13:04 ` Robin Murphy
2026-09-23 14:18 ` Aneesh Kumar K.V [this message]
2026-09-23 14:18 ` Aneesh Kumar K.V
2026-09-21 6:36 ` [PATCH v5 6/6] dma: swiotlb: Remove SWIOTLB_ANY Aneesh Kumar K.V (Arm)
2026-09-21 6:36 ` Aneesh Kumar K.V (Arm)
2026-09-21 6:48 ` sashiko-bot
2026-09-23 13:12 ` Robin Murphy
2026-09-23 13:12 ` Robin Murphy
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=yq5azex8126y.fsf@kernel.org \
--to=aneesh.kumar@kernel.org \
--cc=Suzuki.Poulose@arm.com \
--cc=agordeev@linux.ibm.com \
--cc=aik@amd.com \
--cc=aou@eecs.berkeley.edu \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chenhuacai@kernel.org \
--cc=chleroy@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@ziepe.ca \
--cc=jiaxun.yang@flygoat.com \
--cc=jiri@resnulli.us \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=m.szyprowski@samsung.com \
--cc=maddy@linux.ibm.com \
--cc=maz@kernel.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=ptesarik@suse.com \
--cc=robin.murphy@arm.com \
--cc=smostafa@google.com \
--cc=steven.price@arm.com \
--cc=svens@linux.ibm.com \
--cc=tglx@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=yilun.xu@linux.intel.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.