• David Vrabel's avatar
    xen/balloon: account for pages released during memory setup · aa24411b
    David Vrabel authored
    In xen_memory_setup() pages that occur in gaps in the memory map are
    released back to Xen.  This reduces the domain's current page count in
    the hypervisor.  The Xen balloon driver does not correctly decrease
    its initial current_pages count to reflect this.  If 'delta' pages are
    released and the target is adjusted the resulting reservation is
    always 'delta' less than the requested target.
    
    This affects dom0 if the initial allocation of pages overlaps the PCI
    memory region but won't affect most domU guests that have been setup
    with pseudo-physical memory maps that don't have gaps.
    
    Fix this by accouting for the released pages when starting the balloon
    driver.
    
    If the domain's targets are managed by xapi, the domain may eventually
    run out of memory and die because xapi currently gets its target
    calculations wrong and whenever it is restarted it always reduces the
    target by 'delta'.
    Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    aa24411b
setup.c 12.1 KB