Commit 730ad0e
iommu/amd: Fix IOMMU AVIC not properly update the is_run bit in IRTE
Commit b9c6ff9 ("iommu/amd: Re-factor guest virtual APIC
(de-)activation code") accidentally left out the ir_data pointer when
calling modity_irte_ga(), which causes the function amd_iommu_update_ga()
to return prematurely due to struct amd_ir_data.ref is NULL and
the "is_run" bit of IRTE does not get updated properly.
This results in bad I/O performance since IOMMU AVIC always generate GA Log
entry and notify IOMMU driver and KVM when it receives interrupt from the
PCI pass-through device instead of directly inject interrupt to the vCPU.
Fixes by passing ir_data when calling modify_irte_ga() as done previously.
Fixes: b9c6ff9 ("iommu/amd: Re-factor guest virtual APIC (de-)activation code")
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>1 parent da72a37 commit 730ad0e
1 file changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3826 | 3826 | | |
3827 | 3827 | | |
3828 | 3828 | | |
3829 | | - | |
| 3829 | + | |
3830 | 3830 | | |
3831 | 3831 | | |
3832 | 3832 | | |
| |||
3852 | 3852 | | |
3853 | 3853 | | |
3854 | 3854 | | |
3855 | | - | |
| 3855 | + | |
3856 | 3856 | | |
3857 | 3857 | | |
3858 | 3858 | | |
| |||
0 commit comments