mbox series

[v2,0/5] Interrupt Remap support for emulated amd viommu

Message ID 20240916143116.169693-1-santosh.shukla@amd.com (mailing list archive)
Headers show
Series Interrupt Remap support for emulated amd viommu | expand

Message

Shukla, Santosh Sept. 16, 2024, 2:31 p.m. UTC
Series adds following feature support for emulated amd vIOMMU
1) Pass Through(PT) mode
2) Interrupt Remapping(IR) mode

1) PT mode
Introducing the shared 'nodma' memory region that can be aliased
by all the devices in the PT mode. Shared memory with aliasing
approach will help run VM faster when lot of devices attached to
VM.

2) IR mode
Shared IR memory region with aliasing approach proposed for the
reason mentioned in 1). Also add support to invalidate Interrupt
remaping table(IRT).

Series based on ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Testing:
1. nvme/fio testing for VM with > 255 vCPU with xtsup=on and x2apic
enabled
2. Windows Server 2022 VM testing for > 255 vCPU.

Change History:

V2:
- Fixed non-kvm build issue (Reported by Michael Tsirkin)

V1:
- https://lore.kernel.org/all/20240904100257.184851-3-santosh.shukla@amd.com/T/


Suravee Suthikulpanit (5):
  amd_iommu: Rename variable mmio to mr_mmio
  amd_iommu: Add support for pass though mode
  amd_iommu: Use shared memory region for Interrupt Remapping
  amd_iommu: Send notification when invaldate interrupt entry cache
  amd_iommu: Check APIC ID > 255 for XTSup

 hw/i386/acpi-build.c |  4 +-
 hw/i386/amd_iommu.c  | 98 +++++++++++++++++++++++++++++++++++---------
 hw/i386/amd_iommu.h  |  5 ++-
 3 files changed, 85 insertions(+), 22 deletions(-)

Comments

Alejandro Jimenez Sept. 20, 2024, 8:39 p.m. UTC | #1
Hi Santosh,


On 9/16/24 10:31, Santosh Shukla wrote:
> Series adds following feature support for emulated amd vIOMMU
> 1) Pass Through(PT) mode
> 2) Interrupt Remapping(IR) mode
> 
> 1) PT mode
> Introducing the shared 'nodma' memory region that can be aliased
> by all the devices in the PT mode. Shared memory with aliasing
> approach will help run VM faster when lot of devices attached to
> VM.
> 
> 2) IR mode
> Shared IR memory region with aliasing approach proposed for the
> reason mentioned in 1). Also add support to invalidate Interrupt
> remaping table(IRT).
> 
> Series based on ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
> 
> Testing:
> 1. nvme/fio testing for VM with > 255 vCPU with xtsup=on and x2apic
> enabled
> 2. Windows Server 2022 VM testing for > 255 vCPU.

Tested on EPYC Genoa launching a guest with 380 vCPUs, with VFIO passthrough NIC, using "-device amd-iommu,intremap=on,xtsup=on,pt=on"

I pointed out a few minor nits, of which I think the most important is to correct the error message on PATCH 5/5. With that addressed:

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>

Thank you.

> 
> Change History:
> 
> V2:
> - Fixed non-kvm build issue (Reported by Michael Tsirkin)
> 
> V1:
> - https://lore.kernel.org/all/20240904100257.184851-3-santosh.shukla@amd.com/T/
> 
> 
> Suravee Suthikulpanit (5):
>    amd_iommu: Rename variable mmio to mr_mmio
>    amd_iommu: Add support for pass though mode
>    amd_iommu: Use shared memory region for Interrupt Remapping
>    amd_iommu: Send notification when invaldate interrupt entry cache
>    amd_iommu: Check APIC ID > 255 for XTSup
> 
>   hw/i386/acpi-build.c |  4 +-
>   hw/i386/amd_iommu.c  | 98 +++++++++++++++++++++++++++++++++++---------
>   hw/i386/amd_iommu.h  |  5 ++-
>   3 files changed, 85 insertions(+), 22 deletions(-)
>
Shukla, Santosh Sept. 23, 2024, 12:05 p.m. UTC | #2
Hi Alejandro,

On 9/21/2024 2:09 AM, Alejandro Jimenez wrote:
> Hi Santosh,
> 
> 
> On 9/16/24 10:31, Santosh Shukla wrote:
>> Series adds following feature support for emulated amd vIOMMU
>> 1) Pass Through(PT) mode
>> 2) Interrupt Remapping(IR) mode
>>
>> 1) PT mode
>> Introducing the shared 'nodma' memory region that can be aliased
>> by all the devices in the PT mode. Shared memory with aliasing
>> approach will help run VM faster when lot of devices attached to
>> VM.
>>
>> 2) IR mode
>> Shared IR memory region with aliasing approach proposed for the
>> reason mentioned in 1). Also add support to invalidate Interrupt
>> remaping table(IRT).
>>
>> Series based on ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
>>
>> Testing:
>> 1. nvme/fio testing for VM with > 255 vCPU with xtsup=on and x2apic
>> enabled
>> 2. Windows Server 2022 VM testing for > 255 vCPU.
> 
> Tested on EPYC Genoa launching a guest with 380 vCPUs, with VFIO passthrough NIC, using "-device amd-iommu,intremap=on,xtsup=on,pt=on"
> 
> I pointed out a few minor nits, of which I think the most important is to correct the error message on PATCH 5/5. With that addressed:
> 
> Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
> 
> Thank you.

Thank you for reviewing and comments.

Regards,
Santosh

> 
>>
>> Change History:
>>
>> V2:
>> - Fixed non-kvm build issue (Reported by Michael Tsirkin)
>>
>> V1:
>> - https://lore.kernel.org/all/20240904100257.184851-3-santosh.shukla@amd.com/T/
>>
>>
>> Suravee Suthikulpanit (5):
>>    amd_iommu: Rename variable mmio to mr_mmio
>>    amd_iommu: Add support for pass though mode
>>    amd_iommu: Use shared memory region for Interrupt Remapping
>>    amd_iommu: Send notification when invaldate interrupt entry cache
>>    amd_iommu: Check APIC ID > 255 for XTSup
>>
>>   hw/i386/acpi-build.c |  4 +-
>>   hw/i386/amd_iommu.c  | 98 +++++++++++++++++++++++++++++++++++---------
>>   hw/i386/amd_iommu.h  |  5 ++-
>>   3 files changed, 85 insertions(+), 22 deletions(-)
>>