<div dir="ltr"><div>Ok, thanks.</div><div><br></div><div>So as soon as a device is directly assigned to a VM, setrlimit() or prlimit() are applied to the qemu-kvm process to avoid paging at the host level, right?</div><div>and if there is not enough physical RAM, is the device simply not connected or is the VM halted?</div><div><br></div><div>And the VM itself can page in/page out with its own page file, this is not a problem, right?</div><div><br></div><div>Regards,</div><div><br></div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-04 16:57 GMT+01:00 Laine Stump <span dir="ltr"><<a href="mailto:laine@laine.org" target="_blank">laine@laine.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div><div>On 03/04/2015 10:27 AM, Raymond Durand wrote:<br>
> I read this in the context of direct device assignment: "All of the<br>
> guest's memory must kept permanently in memory. This is because the<br>
> guest may program the device with any address in its address space and<br>
> the hypervisor has no way of handling a DMA page fault"<br>
><br>
> is it still true?<br>
><br>
<br>
</div></div>Yes. libvirt takes care of this automatically (by calling setrlimit() or<br>
prlimit()) when you assign a device to a guest. It does mean that you'll<br>
need enough physical RAM on the machine to account for it, though.</blockquote></div></div></div></div>