[pve-devel] [PATCH qemu-server v2 12/13] fix #3574: enable multi pci device mapping from config

DERUMIER, Alexandre Alexandre.DERUMIER at groupe-cyllene.com
Sat Aug 27 18:09:20 CEST 2022


Le 26/08/22 à 08:39, Dominik Csapak a écrit :
> On 8/25/22 16:53, DERUMIER, Alexandre wrote:
>>   > root at pve2:~# qm start 101
>>   > ignoring mediated device with multifunction device
>>
>> ok, it's simply that indeed I have specify a multifunction path 
>> "0000:02".
>>
>> I think it should better/safe to die here, instead to simply warn and
>> continue.
> i agree die'ing here is better, for the mapped case we could do that now,
> but for the old case of a pciid we can't (for backwards compat) until 8.0
> 
> [snip]
> 
>>>
>>> maybe not related, but after that, stop/start are not working anymore
>>>
>>> root at pve2:~# qm stop 101
>>> PCI device mapping invalid (hardware probably changed): 'mdev'
>>> configured but should not be
>>>
>>> root at pve2:~# qm start 101
>>> PCI device mapping invalid (hardware probably changed): 'mdev'
>>> configured but should not be
>>>

I can reproduce this 100%, if the start with mdev of multifunction path 
fallback to classic pci passthrough.

and I was able to configure this on the vm pci configuration.
No sure, maybe I have configure the mapping with single function, 
configure the vm, then change the mapping with multifunction.




I see that currently it's possible to mix multifunction,  single 
function devices in same mapping group.
I wonder if it couldn't be better to add an option on the group, to 
define "multifunction=on/off , mdev=on/off.

then only add devices with theses 2 options, don't mix different kind of 
devices.

Also, multifuction && mdev can't be changed on the group if devices are 
already in the group.



> 
> i had this also happen here once, when we do 'normal' pci passthrough
> we reset the devices (via sysfs) and it seems the nvidia driver/card
> does not like that and does not enable the mediated devices until
> a reboot ....
> 
> the code then sees a hardware/feature mismatch and refuses to start.
> this is done to prevent a start with passthrough on hardware change,
> i.e. if someone adds/removes a device and suddenly
> the device at path X is not the same anymore)
> 



More information about the pve-devel mailing list