[PATCH v4 05/23] iommufd/driver: Let iommufd_viommu_alloc helper save ictx to viommu->ictx

Nicolin Chen nicolinc at nvidia.com
Fri May 30 11:34:07 PDT 2025


On Fri, May 30, 2025 at 03:27:23PM -0300, Jason Gunthorpe wrote:
> On Tue, May 27, 2025 at 11:41:19AM -0700, Nicolin Chen wrote:
> > On Mon, May 26, 2025 at 10:30:46AM -0300, Jason Gunthorpe wrote:
> > > On Fri, May 16, 2025 at 01:56:26PM -0700, Nicolin Chen wrote:
> > > 
> > > > > You don't need to move this unless you are using inlines. Just use a
> > > > > forward declaration.
> > > > 
> > > > Since we forward ucmd now, ictx is in the ucmd so we need this
> > > > structure for:
> > > > 
> > > > -		if (!IS_ERR(ret))                                              \
> > > > +		if (!IS_ERR(ret)) {                                            \
> > > >  			ret->member.ops = viommu_ops;                          \
> > > > +			ret->member.ictx = ucmd->ictx;                         \
> > > > +		}                                                              \
> > > 
> > > De-inline more of that function probably..
> > > 
> > > Also seem my other remarks about not storing ictx so much..
> > 
> > I found that all other ictx pointers in vdev/hw_queue are unused,
> > as the core simply gets an ictx from their viommu pointers. This
> > means that only this viommu allocator here needs such a storing.
> > 
> > With that, how about a change like this v.s. inline:
> 
> So I think the other suggestion with init vs alloc supersedes this and
> makes it all pretty clean?

I believe so!

Nicolin



More information about the linux-arm-kernel mailing list