On 12/12/24 4:10 AM, Thomas Huth wrote:
> On 09/12/2024 20.29, Matthew Rosato wrote:
>> This series introduces the concept of the relaxed translation requirement
>> for s390x guests in order to allow bypass of the guest IOMMU for more
>> efficient PCI passthrough.
>>
>> With this series, QEMU can indicate to the guest that an IOMMU is not
>> strictly required for a zPCI device.  This would subsequently allow a
>> guest linux to use iommu.passthrough=1 and bypass their guest IOMMU for
>> PCI devices.
>>
>> When this occurs, QEMU will note the behavior via an intercepted MPCIFC
>> instruction and will fill the host iommu with mappings of the entire
>> guest address space in response.
>>
>> There is a kernel series [1] that adds the relevant behavior needed to
>> exploit this new feature from within a s390x linux guest.
>>
>> [1]: 
>> https://lore.kernel.org/linux-s390/[email protected]/
>>
>> Matthew Rosato (2):
>>    s390x/pci: add support for guests that request direct mapping
>>    s390x/pci: indicate QEMU supports relaxed translation for passthrough
> 
>  Hi again!
> 
> One more thought: This is a guest-visible feature, isn't it? So do we also 
> need some migration handling for this? For example, what happens if you start 
> a guest that is aware of this feature on a host that has a QEMU with this 
> feature, and then try to live-migrate the guest to a QEMU that does not have 
> this feature? I guess the guest will crash? It would be better to fail the 
> migration instead. At least we should disable the feature in older machine 
> types and only allow it for the latest one.

zPCI devices are currently marked as unmigratable in s390_pci_device_vmstate so 
it's not a reproducible issue yet.

Re: disabling the feature for older machines, OK -- Shall I fence similar to 
what we did for interpret/forwarding-assist with a new device property that is 
default to off on older machines ("relax-translation"? alternative suggestions 
welcome) 



Reply via email to