Re: [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs

From: Jacob Pan
Date: Mon May 10 2021 - 23:54:23 EST


Hi Jason,

On Mon, 10 May 2021 20:45:00 -0300, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:

> On Mon, May 10, 2021 at 03:28:54PM -0700, Jacob Pan wrote:
>
> > To satisfy your "give me a PASID for this RID" proposal, can we just use
> > the RID's struct device as the token? Also add a type field to
> > explicitly indicate global vs per-set(per-RID). i.e.
>
> You've got it backwards, the main behavior should be to allocate PASID
> per RID.
>
Sure, we can make the local PASID as default. My point was that the
ioasid_set infrastructure's opaque token can support RID-local allocation
scheme. Anyway, this is a small detail as compared to uAPI.

> The special behavior is to bundle a bunch of PASIDs into a grouping
> and then say the PASID number space is shared between all the group
> members.
>
> /dev/ioasid should create and own this grouping either implicitly or
> explicitly. Jumping ahead to in-kernel APIs has missed the critical
> step of defining the uAPI and all the behaviors together in a
> completed RFC proposal.
>
Agreed, the requirements for kernel API should come from uAPI.

> Jason


Thanks,

Jacob