Skip to content
  • Keir Fraser's avatar
    tools/xenballoond: add tmem capability to directed/self-ballooning · 50da1153
    Keir Fraser authored
    
    and monitor tool
    
    This patch adds tmem support to the largely unknown/unused
    xenballoond scripts that implement both self-ballooning and
    a foundation for directed-ballooning.  Tmem and automated
    ballooning are highly complementary in that, when ballooning
    is over-aggressive, paging and swapping can increase noticably.
    Precache preserves evicted pages that may be needed again soon
    (thus eliminating disk reads) and preswap provides memory-based
    swapping that occurs if ballooning is insufficiently responsive
    to a sudden increase in activity and memory demand (thus
    eliminating disk writes and reads).
    
    There are two changes in this patch:
    
    1) The xenballoond service is a convenient place to implement
       userland "preswap shrinking".**
    2) The xenballoon-monitor script is a convenient place to
       report (and view with "watch -d") the frequent memory
       rebalancing that results from tmem usage on a busy system.
    
    Note that for best results (and for the monitor script to
    work), the xenstore-* tools should be installed on each guest.
    
    (** In a disk-based swap device, stale pages are often left
      on-disk even after they are no longer needed or valid; they
      are simply overwritten if/when the disk blocks are needed
      again, which may be a very long time.  Preswap behaves
      much like a disk, but uses precious pages of memory that
      count against a guest's memory allocation; thus stale
      pages are very undesirable.  Preswap shrinking periodically
      attempts to remove stale pages from preswap by using a
      sysfs interface created by the linux-side tmem patch.)
    
    Signed-off-by: default avatarDan Magenheimer <dan.magenheimer@oracle.com>
    50da1153