[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] iommu/amd-vi: fix checking for Invalidate All support in amd_iommu_resume()
On 13.06.2023 12:33, Roger Pau Monné wrote: > On Tue, Jun 13, 2023 at 12:23:37PM +0200, Jan Beulich wrote: >> On 13.06.2023 12:13, Roger Pau Monne wrote: >>> Do not rely on iommu local variable pointing to a valid amd_iommu >> >> "Do not rely" sounds like we might, but we choose not to. But we may >> not rely on this, as the pointer simply isn't valid to deref past >> the loop. Hence perhaps better "We cannot rely ..." or even "The >> iommu local variable does not point to ..."? > > "Xen cannot rely ..." doesn't modify the sentence too much and could > likely be adjusted at commit if you agree? > > Otherwise your last suggestion would also be OK by me. I used that latter one, as being more concise. >>> --- a/xen/drivers/passthrough/amd/iommu_init.c >>> +++ b/xen/drivers/passthrough/amd/iommu_init.c >>> @@ -1580,6 +1580,7 @@ void cf_check amd_iommu_crash_shutdown(void) >>> void cf_check amd_iommu_resume(void) >>> { >>> struct amd_iommu *iommu; >>> + bool invalidate_all = true; >>> >>> for_each_amd_iommu ( iommu ) >>> { >>> @@ -1589,10 +1590,12 @@ void cf_check amd_iommu_resume(void) >>> */ >>> disable_iommu(iommu); >>> enable_iommu(iommu); >>> + if ( !iommu->features.flds.ia_sup && invalidate_all ) >> >> You don't really need the right hand part of the condition, do you? >> >> Preferably with the adjustments (which I'd be happy to do while >> committing, as long as you agree) >> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > > Wanted to avoid repeatedly setting `invalidate_all = false` if all the > IOMMUs on the system don't support Invalidate All. > > I don't have a strong opinion, my first (local) version didn't have > the right hand side of the condition, but then I realized that setting > this for every IOMMU on the system could be wasteful. I've dropped that part: We don't care much about that tiny performance difference here (and it's unclear whether the extra check actually is a win or a loss), and imo the code is more clear with the simpler conditional. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |