RE: [RFC PATCH v9 5/5] iommu/vt-d: don't loop for timeout ATS Invalidation request forever

From: Tian, Kevin
Date: Fri Dec 29 2023 - 03:17:27 EST


> From: Ethan Zhao <haifeng.zhao@xxxxxxxxxxxxxxx>
> Sent: Thursday, December 28, 2023 9:10 PM
>
> On 12/28/2023 4:38 PM, Tian, Kevin wrote:
> >> From: Ethan Zhao <haifeng.zhao@xxxxxxxxxxxxxxx>
> >> Sent: Thursday, December 28, 2023 8:17 AM
> >>
> >>
> >> - if (rc == -EAGAIN)
> >> + if (rc == -EAGAIN && type !=QI_DIOTLB_TYPE && type !=
> >> QI_DEIOTLB_TYPE)
> >> goto restart;
> >>
> > this change is moot.
> >
> > -EAGAIN is set only when hardware detects a ATS invalidation completion
> > timeout in qi_check_fault(). so above just essentially kills the restart logic.
>
> This change is intended to break the restar login when device-TLB
>
> invalidation timeout happens, we don't know how long the ITE took
>
> if the device is just no reponse.

if in the end the agreement is to remove the restart logic, then do it.

it's not good to introduce a change which essentially kills the restart
logic but still keeps the related code.