From: Robin Murphy <robin.murphy@arm.com>
To: Will Deacon <will@kernel.org>, John Garry <john.garry@huawei.com>
Cc: joro@8bytes.org, mst@redhat.com, jasowang@redhat.com,
xieyongji@bytedance.com, linux-kernel@vger.kernel.org,
iommu@lists.linux-foundation.org,
virtualization@lists.linux-foundation.org, linuxarm@huawei.com,
thunder.leizhen@huawei.com, baolu.lu@linux.intel.com
Subject: Re: [PATCH 0/5] iommu: Some IOVA code reorganisation
Date: Mon, 4 Oct 2021 15:48:46 +0100 [thread overview]
Message-ID: <87b782d7-339a-fcd0-8fae-659e2d9da078@arm.com> (raw)
In-Reply-To: <20211004114418.GC27373@willie-the-truck>
On 2021-10-04 12:44, Will Deacon wrote:
> On Fri, Sep 24, 2021 at 06:01:52PM +0800, John Garry wrote:
>> The IOVA domain structure is a bit overloaded, holding:
>> - IOVA tree management
>> - FQ control
>> - IOVA rcache memories
>>
>> Indeed only a couple of IOVA users use the rcache, and only dma-iommu.c
>> uses the FQ feature.
>>
>> This series separates out that structure. In addition, it moves the FQ
>> code into dma-iommu.c . This is not strictly necessary, but it does make
>> it easier for the FQ domain lookup the rcache domain.
>>
>> The rcache code stays where it is, as it may be reworked in future, so
>> there is not much point in relocating and then discarding.
>>
>> This topic was initially discussed and suggested (I think) by Robin here:
>> https://lore.kernel.org/linux-iommu/1d06eda1-9961-d023-f5e7-fe87e768f067@arm.com/
>
> It would be useful to have Robin's Ack on patches 2-4. The implementation
> looks straightforward to me, but the thread above isn't very clear about
> what is being suggested.
FWIW I actually got about half-way through writing my own equivalent of
patches 2-3, except tackling it from the other direction - simplifying
the FQ code *before* moving whatever was left to iommu-dma, then I got
side-tracked trying to make io-pgtable use that freelist properly, and
then I've been on holiday the last 2 weeks. I've got other things to
catch up on first but I'll try to get to this later this week.
> To play devil's advocate: there aren't many direct users of the iovad code:
> either they'll die out entirely (and everybody will use the dma-iommu code)
> and it's fine having the flush queue code where it is, or we'll get more
> users and the likelihood of somebody else wanting flush queues increases.
I think the FQ code is mostly just here as a historical artefact, since
the IOVA allocator was the only thing common to the Intel and AMD DMA
ops when the common FQ implementation was factored out of those, so
although it's essentially orthogonal it was still related enough that it
was an easy place to stick it.
Cheers,
Robin.
next prev parent reply other threads:[~2021-10-04 14:49 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-24 10:01 John Garry
2021-09-24 10:01 ` [PATCH 1/5] iova: Move fast alloc size roundup into alloc_iova_fast() John Garry
2021-10-04 11:31 ` Will Deacon
2021-10-08 16:20 ` John Garry
2021-10-09 3:12 ` Yongji Xie
2021-10-11 2:06 ` Jason Wang
2021-10-27 9:25 ` John Garry
2021-10-18 15:42 ` Michael S. Tsirkin
2021-09-24 10:01 ` [PATCH 2/5] iommu: Separate flush queue memories from IOVA domain structure John Garry
2021-09-24 10:01 ` [PATCH 3/5] iommu: Move IOVA flush queue code to dma-iommu John Garry
2021-09-24 10:01 ` [PATCH 4/5] iommu: Separate IOVA rcache memories from iova_domain structure John Garry
2021-12-20 8:49 ` John Garry
2021-12-20 13:57 ` Robin Murphy
2021-12-22 11:53 ` John Garry
2021-09-24 10:01 ` [PATCH 5/5] iommu/iova: Avoid double-negatives in magazine helpers John Garry
2021-10-04 11:38 ` Will Deacon
2021-10-04 13:33 ` John Garry
2021-10-04 11:44 ` [PATCH 0/5] iommu: Some IOVA code reorganisation Will Deacon
2021-10-04 13:56 ` John Garry
2021-10-04 14:48 ` Robin Murphy [this message]
2021-11-16 14:21 ` John Garry
2021-11-16 14:25 ` 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=87b782d7-339a-fcd0-8fae-659e2d9da078@arm.com \
--to=robin.murphy@arm.com \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jasowang@redhat.com \
--cc=john.garry@huawei.com \
--cc=joro@8bytes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=mst@redhat.com \
--cc=thunder.leizhen@huawei.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=will@kernel.org \
--cc=xieyongji@bytedance.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®