Thread (51 messages) 51 messages, 7 authors, 2020-11-11

Re: [PATCH v7 13/24] iommu/arm-smmu-v3: Enable broadcast TLB maintenance

From: Marc Zyngier <maz@kernel.org>
Date: 2020-05-21 14:38:39
Also in: linux-devicetree, linux-iommu, linux-mm, linux-pci

On 2020-05-21 15:17, Will Deacon wrote:
[+Marc]

On Tue, May 19, 2020 at 07:54:51PM +0200, Jean-Philippe Brucker wrote:
quoted
The SMMUv3 can handle invalidation targeted at TLB entries with shared
ASIDs. If the implementation supports broadcast TLB maintenance, 
enable it
and keep track of it in a feature bit. The SMMU will then be affected 
by
inner-shareable TLB invalidations from other agents.

A major side-effect of this change is that stage-2 translation 
contexts
are now affected by all invalidations by VMID. VMIDs are all shared 
and
the only ways to prevent over-invalidation, since the stage-2 page 
tables
are not shared between CPU and SMMU, are to either disable BTM or 
allocate
different VMIDs. This patch does not address the problem.
This sounds like a potential performance issue, particularly as we 
expose
stage-2 contexts via VFIO directly. Maybe we could reserve some portion 
of
VMID space for the SMMU? Marc, what do you reckon?
Certainly doable when we have 16bits VMIDs. With smaller VMID spaces 
(like on
v8.0), this is a bit more difficult (we do have pretty large v8.0 
systems
around). How many VMID bits are we talking about?

         M.
-- 
Jazz is not dead. It just smells funny...

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help