This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] How does the self-ballooning daemon calculate the selftarget

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] How does the self-ballooning daemon calculate the selftarget?
From: Jia Rao <rickenrao@xxxxxxxxx>
Date: Tue, 10 Nov 2009 11:23:14 -0500
Delivery-date: Tue, 10 Nov 2009 08:23:41 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=TR8aQWaYHrIo5jqIxJ8GSnVSjGtWcM8F/TwAIQcbvBI=; b=on5BiRRXFDzKqLViHc0ANUVjxQY8iNvKzsUikz8JzWhHKbhcOmBqsNp2lU5zYf7NUS 9OAkwBVtGWxmOuaRjA+NS9GI0dgkKbNDH6mqu8mU2maKA9rSSFnrDwh5TVkId1sGwbh5 xttuNG8qTdKFZ1bh8kzbDV/tJTXqpCvk69kK0=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=Myd0wlaLC8R3m5qV6OfCvjySLXhQ7lIYP+E915hgcTAhzhAM4NV2euRTkbh74++KIY CwDHgMR4zH2EOXtnyNmp4ZntwXcGdsQH4Rrr0/aWC4anMEjeNGlVopC7GA+R9mJ0CteB cdFYb9NdMnwiuCSdLtd7M/vosdDCvqkY2WWIU=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi all,

I am wondering how does the self-ballooning daemon calculate the selftarget for the guest OS.
From the README of balloon driver, it seems that selftarget is determined by Committed_AS in meminfo.

I did some test on tpcc benchmark. the OS is initially allocated 2048MB of memory, and then I enabled the selfballooning by echo 1 > /proc/xen/balloon.
The configuration of xenballoond.conf is the default except that I enabled self-balloon.

The following is the meminfo

MemTotal:      1939996 kB
MemFree:       1183888 kB
Buffers:         13260 kB
Cached:         396492 kB
SwapCached:          0 kB
Active:         386912 kB
Inactive:       213584 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      1939996 kB
LowFree:       1183888 kB
SwapTotal:     2097136 kB
SwapFree:      2097132 kB
Dirty:           78432 kB
Writeback:           0 kB
AnonPages:      190668 kB
Mapped:          14228 kB
Slab:            53148 kB
PageTables:       4836 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   3067132 kB
Committed_AS:   524484 kB
VmallocTotal: 34359738367 kB
VmallocUsed:      1208 kB
VmallocChunk: 34359737159 kB

It seems that the self-balloon driver is reluctant to give up free memory from the guest although the Committed_AS is small. The self-ballooning did changed the selftarget to something like 1.6GB but quickly changed to and fix at 193xxxxKB.

According to the meminfo, we should be able to give up at least 800MB back to the VMM.
FYI: xen 3.3.1, linux in both dom0 and domu.

Any ideas?

Xen-devel mailing list