Re: [PATCH v2 3/3] iommu: Remove ioasid infrastructure

From: Jason Gunthorpe
Date: Wed Feb 15 2023 - 07:49:24 EST


On Tue, Feb 14, 2023 at 01:33:52PM -0800, Jacob Pan wrote:
> Hi Jason,
>
> On Tue, 14 Feb 2023 13:57:29 -0400, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:
>
> > On Tue, Feb 14, 2023 at 09:31:07AM -0800, Jacob Pan wrote:
> > > Hi Jason,
> > >
> > > On Tue, 14 Feb 2023 09:06:18 -0400, Jason Gunthorpe <jgg@xxxxxxxxxx>
> > > wrote:
> > > > On Tue, Feb 14, 2023 at 09:32:33AM +0000, Jean-Philippe Brucker
> > > > wrote:
> > > > > > diff --git a/include/uapi/linux/iommu.h
> > > > > > b/include/uapi/linux/iommu.h index 65d8b0234f69..a95f07f0c98c
> > > > > > 100644 --- a/include/uapi/linux/iommu.h
> > > > > > +++ b/include/uapi/linux/iommu.h
> > > > > > @@ -157,5 +157,6 @@ struct iommu_page_response {
> > > > > > __u32 grpid;
> > > > > > __u32 code;
> > > > > > };
> > > > > > +#define IOMMU_PASID_INVALID (-1U)
> > > > >
> > > > > Why change UAPI?
> > > >
> > > > There is no uapi, this whole file needs to be deleted too
> > > >
> > > ok. another clean up.
> > >
> > > As I also replied to Jean, I ran into a circular #include problem if
> > > mm.h #include iommu.h, I guess I could also create another header, e.g.
> > > iommu_defs.h to avoid it. any other suggestions?
> >
> > Given this header is not used, just delete things from it to resolve
> > the problem?
> no, sorry i didn't make it clear. I meant if we do #include <linux/iommu.h>
> in sched/mm.h, then I got circular include problem.

You shouldn't do that at all, mm.h is included everywhere.

Try to make it smaller not larger.

You are better to include iommu.h in the few .c files that need these
shims than put them in mm.h

Jason