[pve-devel] [PATCH docs 1/2] pci passthrough: mention incompatibility with ballooning

Friedrich Weber f.weber at proxmox.com
Tue Nov 14 11:20:40 CET 2023


On 14/11/2023 09:30, Fiona Ebner wrote:
> Am 13.11.23 um 18:09 schrieb Friedrich Weber:
>>  
>> +xref:qm_ballooning[Automatic memory allocation (ballooning)] is not possible
>> +when using PCI(e) passthrough. As the PCI device may use DMA (Direct Memory
>> +Access), QEMU needs to map the complete guest memory on VM startup. Hence, the
>> +QEMU process will use at least the (maximum) configured amount of VM memory and
>> +setting a minimum amount does not have any effect. When using PCI(e)
>> +passthrough, it is recommended to set memory and minimum memory to the same
>> +amount and keep the balloning device enabled. However, keep in mind that the
> 
> typo: s/balloning/ballooning/

Oops, thanks.

> Is there any advantage to keeping the ballooning device enabled?
> 
>> +memory consumption reported in the GUI for the VM may be much lower than the
>> +memory consumption of the QEMU process.
> 
> Maybe mention what the reported value is?

In my understanding: If the ballooning device is enabled (and a balloon
driver present in the guest), the VM memory usage numbers are taken as
reported by the balloon driver [1] (I'd say "as seen from within the
guest"?). If the ballooning device is disabled, they are inferred from
the rss and vsize of the QEMU process [2], so I'd say "as seen from the
host".

I guess in the end the user has to decide which perspective they care
about? I'll try to make this clearer in the v2.

[1]
https://git.proxmox.com/?p=qemu-server.git;a=blob;f=PVE/QemuServer.pm;h=c465fb6f64ae30dec5112fc4439f9181c2eba4e9;hb=feb51881d#l3013
[2]
https://git.proxmox.com/?p=qemu-server.git;a=blob;f=PVE/QemuServer.pm;h=c465fb6f64ae30dec5112fc4439f9181c2eba4e9;hb=feb51881d#l2967





More information about the pve-devel mailing list