## Path: System/xen
## Description: xen domain start/stop on boot
## Type: string
## Default: 

# NOTE: "xenbus is enabled" means not only that /proc/xen/xenbus exists
# but also that /usr/bin/xenstore-* tools are installed.

## Type: boolean
## Default: false
#
# If XENBALLOON_SELF is true, selfballooning will occur, meaning the
# balloon driver will grow and shrink according to available memory.
# If xenbus is enabled, may be overridden by {memory/selfballoon}==0
# If false but xenballoond is able to communicate with domain0 via
# xenbus, balloon targets will be set by domain0
# 
XENBALLOON_SELF=false

## Type: integer (must be > 0)
## Default: 1
#
# If self-ballooning, number of seconds between checks/adjustments.
# If xenbus is enabled, may be overridden by {memory/interval}
XENBALLOON_SELF_INTERVAL=1

## Type: integer (must be > 0)
## Default: 1
#
# If NOT self-ballooning but xenbus is enabled, number of seconds between
# checks/adjustments. May be overridden by {memory/interval}
XENBALLOON_INTERVAL=1

## Type: integer (must be > 0)
## Default: 10
#
# When current > target, reduces rate at which target memory is ballooned
# out.  For a value of n, 1/n of the difference will be ballooned.
# This value applies both to selfballooning and directed ballooning.
# May be overridden by {memory/downhysteresis}
XENBALLOON_AUTO_DOWNHYSTERESIS=10

## Type: integer (must be > 0)
## Default: 1
#
# When current < target, reduces rate at which target memory is reclaimed
# (if available).  For a value of n, 1/n of the difference will be ballooned.
# This value applies both to selfballooning and directed ballooning.
# May be overridden by {memory/uphysteresis}
XENBALLOON_AUTO_UPHYSTERESIS=1

## Type: integer (must be >= 0)
## Default: 0
#
# In order to avoid ballooning so much memory that a guest experiences
# out-of-memory errors (OOMs), memory will not be ballooned out below
# a minimum target, in MB.  If this value is 0 (default), an heuristic
# based on the maximum amount of memory will be used.  (The heuristic
# provides the same minimum as recent versions of the balloon driver but
# early versions of the balloon driver did not enforce a minimum.)
XENBALLOON_MINMEM=0

## Type: string
## Default: "/var/run/xenballoon-maxmem"
#
# Location where memory high-water mark is stored; if a guest supports
# hot-add memory, maxmem might increase across time and the minimum
# target heuristic is based on max memory. NOTE: Reboot after changing
# this variable, else overballooning may occur.
XENBALLOON_MAXMEMFILE=/var/run/xenballoon-maxmem

## Type: integer (0 or 1)
## Default: 1
#
# If xenbus is enabled, whether selfballooning or directed ballooning,
# place the result of 'cat /proc/meminfo" on xenbus at memory/meminfo
XENBALLOON_SEND_MEMINFO=1

## Type: integer (0 or 1)
## Default: 1
#
# If xenbus is enabled, whether selfballooning or directed ballooning,
# place the result of 'cat /proc/vmstat" on xenbus at memory/vmstat
XENBALLOON_SEND_VMSTAT=1

## Type: integer (0 or 1)
## Default: 1
#
# If xenbus is enabled, whether selfballooning or directed ballooning,
# place the result of 'cat /proc/uptime" on xenbus at memory/uptime
XENBALLOON_SEND_UPTIME=1

## Type: boolean
## Default: false
#
# If tmem is running, pages swapped to a swap disk may instead go
# into preswap.  These pages may become stale (i.e. no longer need
# to be saved because, e.g., the process owning them has gone away)
# and stale pages use precious precious domain-allocated memory.
# Periodically try to reduce preswap to squeeze out stale pages
XENBALLOON_PRESWAP_SHRINK=false

## Type: string
## Default: "/proc/sys/vm/preswap"
## (change to /sys/proc/vm/preswap in later kernels)
#
# If tmem and preswap are running, reading this file gives the number of
# pages currently in preswap.  Writing it with N invokes the preswap_shrink
# routine to reduce preswap to N pages.
XENBALLOON_PRESWAP_SYSFILE=/proc/sys/vm/preswap

## Type: integer (must be > 0)
## Default: 20
#
# If tmem and preswap are running, attempts to reduce number of pages
# currently in preswap.  For a value of n, 1/n of the pages will
# be attempted to be shrunk.
# If xenbus is enabled, may be overridden by {memory/preswaphysteresis}
XENBALLOON_PRESWAP_HYSTERESIS=20

## Type: integer (must be > 0)
## Default: 10
#
# Number of ballooning intervals where preswap size remains at N pages
# before preswap shrinking is attempted.  Also if shrinking fails to
# shrink to the target, counter resets to this value.
# If xenbus is enabled, may be overridden by {memory/preswapinertia}
XENBALLOON_PRESWAP_INERTIA=10

## Type: integer (0 or 1)
## Default: 1
#
# If xenbus is enabled, whether selfballooning or directed ballooning,
# place the size of preswap (in pages) on xenbus at memory/preswap
XENBALLOON_SEND_PRESWAP=1

