[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] qemu: Always enable the virtio balloon driver



On 01/04/2010 07:13 PM, Adam Litke wrote:
The behavior for the qemu balloon device has changed.  Formerly, a virtio
balloon device was provided by default.  Now, '-balloon virtio' must be
specified on the command line to enable it.  This patch causes libvirt to add
'-balloon virtio' to the command line whenever the -balloon option is
available.


Why add it automatically? I rather have the user state explicitly that a balloon is required. If the balloon is not used, we're just wasting a pci slot and enlarge the hypervisor signature.

I'm in favor of using the balloon driver, but there are occasions it won't be required or we won't have a guest driver for it.



Signed-off-by: Adam Litke<agl us ibm com>

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 36bf9a2..07b0bd1 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1113,6 +1113,8 @@ static unsigned int qemudComputeCmdFlags(const char *help,
          flags |= QEMUD_CMD_FLAG_MEM_PATH;
      if (strstr(help, "-chardev"))
          flags |= QEMUD_CMD_FLAG_CHARDEV;
+    if (strstr(help, "-balloon"))
+        flags |= QEMUD_CMD_FLAG_BALLOON;

      if (version>= 9000)
          flags |= QEMUD_CMD_FLAG_VNC_COLON;
@@ -2883,6 +2885,14 @@ int qemudBuildCommandLine(virConnectPtr conn,
          ADD_ARG_LIT(migrateFrom);
      }

+    /* QEMU changed its default behavior to not include the virtio balloon
+     * device.  Explicitly request it to ensure it will be present.
+     */
+    if (qemuCmdFlags&  QEMUD_CMD_FLAG_BALLOON) {
+        ADD_ARG_LIT("-balloon");
+        ADD_ARG_LIT("virtio");
+    }
+
      ADD_ARG(NULL);
      ADD_ENV(NULL);

diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index e958850..28f59bf 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -78,6 +78,7 @@ enum qemud_cmd_flags {
      QEMUD_CMD_FLAG_ENABLE_KVM    = (1<<  23), /* Is the -enable-kvm flag available to "enable KVM full virtualization support" */
      QEMUD_CMD_FLAG_0_12          = (1<<  24),
      QEMUD_CMD_FLAG_MONITOR_JSON  = QEMUD_CMD_FLAG_0_12, /* JSON mode for monitor */
+    QEMUD_CMD_FLAG_BALLOON       = (1<<  25), /* -balloon available */
  };

  /* Main driver state */




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]