Re: [PATCH v8 12/12] iommu: Use refcount for fault data access

From: Jason Gunthorpe
Date: Tue Dec 12 2023 - 10:14:52 EST


On Tue, Dec 12, 2023 at 01:17:47PM +0800, Baolu Lu wrote:
> On 12/11/23 11:24 PM, Jason Gunthorpe wrote:
> > Also iopf_queue_remove_device() is messed up - it returns an error
> > code but nothing ever does anything with it 🙁 Remove functions like
> > this should never fail.
>
> Yes, agreed.
>
> >
> > Removal should be like I explained earlier:
> > - Disable new PRI reception
>
> This could be done by
>
> rcu_assign_pointer(param->fault_param, NULL);
>
> ?

Not without a synchronize_rcu

disable new PRI reception should be done by the driver - it should
turn off PRI generation in the IOMMU HW and flush any HW PRI queues.

> > - Ack all outstanding PRQ to the device
>
> All outstanding page requests are responded with
> IOMMU_PAGE_RESP_INVALID, indicating that device should not attempt any
> retry.

Yes

Jason