[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