> From: Ankit Soni <[email protected]>
> 
> With concurrent TLB invalidations, completion wait randomly gets timed out
> because cmd_sem_val was incremented outside the IOMMU spinlock, allowing
> CMD_COMPL_WAIT commands to be queued out of sequence and breaking the
> ordering assumption in wait_on_sem().
> Move the cmd_sem_val increment under iommu->lock so completion sequence
> allocation is serialized with command queuing.
> And remove the unnecessary return.
> 
> Fixes: d2a0cac10597 ("iommu/amd: move wait_on_sem() out of spinlock")
> 
> Tested-by: Srikanth Aithal <[email protected]>
> Reported-by: Srikanth Aithal <[email protected]>
> Signed-off-by: Ankit Soni <[email protected]>
> Reviewed-by: Vasant Hegde <[email protected]>
> Signed-off-by: Joerg Roedel <[email protected]>
> (cherry picked from commit 9e249c48412828e807afddc21527eb734dc9bd3d)
> 
> Context adjusted: vz10 does not have cmd_sem_paddr in struct amd_iommu.
> 
> https://virtuozzo.atlassian.net/browse/VSTOR-154424
> Feature: fix ms/iommu
> 
> Signed-off-by: Denis V. Lunev <[email protected]>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review ยท 
https://sashiko.vzint.dev/#/patchset/[email protected]?part=2


_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to