[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180814083500.GA28101@arm.com>
Date: Tue, 14 Aug 2018 09:35:01 +0100
From: Will Deacon <will.deacon@....com>
To: "Leizhen (ThunderTown)" <thunder.leizhen@...wei.com>
Cc: "Yang, Shunyong" <shunyong.yang@...-semitech.com>,
Robin Murphy <robin.murphy@....com>,
Jean-Philippe Brucker <jean-philippe.brucker@....com>,
Joerg Roedel <joro@...tes.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
iommu <iommu@...ts.linux-foundation.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 4/6] iommu/io-pgtable-arm: add support for non-strict
mode
On Tue, Aug 14, 2018 at 04:33:41PM +0800, Leizhen (ThunderTown) wrote:
> On 2018/8/6 9:32, Yang, Shunyong wrote:
> > On 2018/7/26 22:37, Robin Murphy wrote:
> >> Because DMA code is not the only caller of iommu_map/unmap. It's
> >> perfectly legal in the IOMMU API to partially unmap a previous mapping
> >> such that a block entry needs to be split. The DMA API, however, is a
> >> lot more constrined, and thus by construction the iommu-dma layer will
> >> never generate a block-splitting iommu_unmap() except as a result of
> >> illegal DMA API usage, and we obviously do not need to optimise for that
> >> (you will get a warning about mismatched unmaps under dma-debug, but
> >> it's a bit too expensive to police in the general case).
> >>
> >
> > When I was reading the code around arm_lpae_split_blk_unmap(), I was
> > curious in which scenario a block will be split. Now with your comments
> > "Because DMA code is not the only caller of iommu_map/unmap", it seems
> > depending on the user.
> >
> > Would you please explain this further? I mean besides DMA, which user
> > will use iommu_map/umap and how it split a block.
>
> I also think that arm_lpae_split_blk_unmap() scenario is not exist, maybe
> we should remove it, and give a warning for this wrong usage.
Can't it happen with VFIO?
Will
Powered by blists - more mailing lists