From: Xiangyou Xie <xiexiang...@huawei.com>

If VM is configured with large size of hugepage, when startup,
it will consume lots of time to zero the hugepage memory in the function
'os_mem_prealloc'.
Libvirtd will wait 30 seconds for qemu to establish the monitor,
If the timeout triggers, libvirtd will send TERM signal to kill qemu.

To solve the problem, adjust the processing of '-mon' to the ahead of '-object'.

Signed-off-by: Xiangyou Xie <xiexiang...@huawei.com>
Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com>
---
 vl.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/vl.c b/vl.c
index 86bdce0..d0c03fe 100644
--- a/vl.c
+++ b/vl.c
@@ -4000,6 +4000,10 @@ int main(int argc, char **argv, char **envp)
         exit(0);
     }
 
+    if (qemu_opts_foreach(qemu_find_opts("mon"), mon_init_func, NULL, 1) != 0) 
{
+        exit(1);
+    }
+
     if (qemu_opts_foreach(qemu_find_opts("object"),
                           object_create, NULL, 0) != 0) {
         exit(1);
@@ -4154,10 +4158,6 @@ int main(int argc, char **argv, char **envp)
 
     parse_numa_opts();
 
-    if (qemu_opts_foreach(qemu_find_opts("mon"), mon_init_func, NULL, 1) != 0) 
{
-        exit(1);
-    }
-
     if (foreach_device_config(DEV_SERIAL, serial_parse) < 0)
         exit(1);
     if (foreach_device_config(DEV_PARALLEL, parallel_parse) < 0)
-- 
1.7.12.4



Reply via email to