On 03/15/2017 02:16 AM, Jim Fehlig wrote:
> On 03/13/2017 06:29 AM, Michal Privoznik wrote:
>> There were couple of reports on the list (e.g. [1]) that guests
>> with huge amounts of RAM are unable to start because libvirt
>> kills qemu in the initialization phase. The problem is that if
>> guest is configured to use hugepages kernel has to zero them all
>> out before handing over to qemu process. For instance, 402GiB
>> worth of 1GiB pages took around 105 seconds (~3.8GiB/s). Since we
>> do not want to make the timeout for connecting to monitor
>> configurable [2], we have to teach libvirt to count with this
>> fact. This commit implements "1s per each 1GiB of RAM" approach
>> as suggested here [3].
> FYI, on another machine I observed ~1.5 seconds for each 5G of memory.
>
>> 1:
https://www.redhat.com/archives/libvir-list/2017-March/msg00373.html
>> 3:
https://www.redhat.com/archives/libvir-list/2017-March/msg00405.html
>>
>> 2: The reason is that ideally someday it will be Libvirt who
>> creates the monitor socket and qemu will just use it.
> This point isn't clear to me wrt the changes done by the commit.
Okay, I can remove it.
>> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
>> ---
>> src/qemu/qemu_capabilities.c | 2 +-
>> src/qemu/qemu_monitor.c | 36 +++++++++++++++++++++++++++++++-----
>> src/qemu/qemu_monitor.h | 1 +
>> src/qemu/qemu_process.c | 8 ++++++++
>> tests/qemumonitortestutils.c | 1 +
>> 5 files changed, 42 insertions(+), 6 deletions(-)
>>
> Looks good. You can decide about the nits. ACK in principle, but I'm not
> able to test this ATM. The host I was using is now running a VM that
> uses most of its memory. Matt might be running a test in that VM so I
> don't want to kill it :-). I can test the patches tomorrow and report
> back if you want to wait a bit before pushing.
Sure. I will wait for your report and thus full ACK.
Test results were positive. ACK series.
Regards,
Jim