Messages in this thread | | | Date | Mon, 13 Feb 2023 10:34:55 -0800 | From | Jacob Pan <> | Subject | Re: [PATCH 2/2] iommu/ioasid: Remove custom IOASID allocator |
| |
Hi Jean-Philippe,
On Mon, 13 Feb 2023 16:20:29 +0000, Jean-Philippe Brucker <jean-philippe@linaro.org> wrote:
> On Fri, Feb 10, 2023 at 03:02:06PM -0800, Jacob Pan wrote: > > Custom allocator feature was introduced to support VT-d's virtual > > command, an enlightened interface designed for VMs to allocate PASIDs > > from the host. > > > > As we remove/withdraw the VT-d virtual command feature, the sole user > > of custom allocator, we can safely remove the custom allocator as well. > > Effectively, this will return IOASID core to the original simple global > > namespace allocator. > > > > Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> > > You can also drop the spinlock.h include. With that: > good catch, thanks > Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > > On a related note, it looks like 100b8a14a370 ("iommu/vt-d: Add pasid > private data helpers") removed the last user of ioasid_set_data(). I guess > that could be dropped too, unless you plan to still use it? > You are right, will remove. I was planning on the other way around which will convert VT-d's private pasid data helpers to common ioasid code, but when I look closer the private pasid xa is just holding a list of pasid/mm which could be per iommu not global. Another cleanup I suppose.
> We could also merge ioasid.c into iommu-sva.c at this point, since I > haven't seen any interest for having multiple IOASID sets on Arm, but I'm > not sure what the current plan is for vSVA on x86. VT-d do plan to use global PASIDs for DMA API with PASIDs since the work submited via ENQCMDS must use a PASID must != RIDPASID. https://lore.kernel.org/lkml/20220518182120.1136715-1-jacob.jun.pan@linux.intel.com/T/
So I was thinking a separate ioasid_set for devices that allocates global PASIDs for DMA API usage. ioasid_set will be useful here for limiting lookup and resource management. e.g. PASIDs used under in-kernel DMA API are not subject to cgroups.
> Thanks, > Jean > >
Thanks,
Jacob
| |