Xen Balloon Driver On PVHVM CentOS6

Home » CentOS-Virt » Xen Balloon Driver On PVHVM CentOS6
CentOS-Virt 7 Comments

Hi List,

I’m trying to work out the balloon driver on CentOS6 HVM but it seems to be not working with default 2.6.32 or newer 3.4 kernel.

Does balloon driver work on HVM linux guests with Linux kernel 3.4 from CentOS repo ?

PV is fine and is able to balloon.

My host is Xen 4.1.2 with dom0 as 3.4.46-8.el6.CentOS.alt.x86_64
My guest is CentOS6.4 with kernel 3.4.46-8.el6.CentOS.alt.x86_64

Please have a look at below guest logs,
[root@hvmc6 ~]# uname -a Linux hvmc6 3.4.50-8.el6.CentOS.alt.x86_64 #1 SMP
Fri Jun 21 03:14:22 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@hvmc6 ~]# xenstore-ls memory initial-reservation = “1193984”
initial-target = “1048576” static-max = “16777216” target = “1048576”
dynamic-min = “1048576” dynamic-max = “1048576” memory-offset = “-258100”
[root@hvmc6 ~]# dmesg | grep -i balloon xen/balloon: Initialising balloon driver. xen-balloon: Initialising balloon driver.
[root@hvmc6 ~]# free -m total used free shared buffers cached Mem: 463 221
241 0 24 13 -/+ buffers/cache: 184 278 Swap: 9987 7 9980

When I try to set it manually from host, I get
# xl mem-set 229 2049 xc: error: do_memory_op: WARNING: op not converted to safe ioctls: Internal error

Anyone has made CentOS6 PVHVM work with ballooning on Xen ?

Thanks. Rushikesh

7 thoughts on - Xen Balloon Driver On PVHVM CentOS6

  • Hi List,

    It seems that the xen balloon functionality for guest is not enabled in CentOS 3.4.50-8.el6 xen kernel by default via CentOS-release-xen.x86_64
    repo. I think this should have been present since this extra Xen repo needs to support as both Guest and Host (Dom0).

    The kernel had to be recompiled with CONFIG_XEN_SELFBALLOONING. How can I request to make it default enable in CentOS repo ? or is there any reason to not have it default ?


  • can you file a request at bugs.CentOS.org for this please ?

    Also, do one of the xen guys want to weigh in ?

  • The kernel is only intended for use as a dom0 kernel. We recommend the use of the existing 2.6.32 kernel for guests.

    We do not want self-ballooning enabled in the dom0 kernel. This option is also not required for toolstack-directed ballooning.

    It’s not clear what sequence of toolstack operations you’ve done prior to the above commands. Are you trying to increase or decrease the amount of memory in the guest, what were the toolstack commands you used and what is the initial guest configuration.

    This (harmless) warning only occurs on XenServer hosts. What host are you actually running?


  • The specific 3.4 kernel provided as part of the Xen4CentOS project as a configuration selected for use as a dom0 kernel and thus it may not have guest-centric options (like ballooning) correctly configured.

    CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y is required to allow most Linux PV
    guests to balloon above their initial allocation. However, it is broken in some cases when enabled in a dom0 kernel and has been disabled.

    As a workaround I would suggest starting all guests with an initial allocation that corresponds to the maximum they may ever use. You can then immediately balloon them down.


  • Can we enable it with a code check for xen_initial_domain() ?
    We really need an authenticated guest CentOS kernel which has bug free ballooning as Xen guest.

    KVM or HVM Xen is fine but PV will always suffer till CentOS/RHEL switches to 3.X
    I don’t have any news on CentOS7 or RHEL7.

    This workaround works good only while first boot. If the guest gets rebooted after balloon down then the base memory is changed to last known allocated memory. After reboot the guest wont be able to balloon up.