Skip to content
  • Rusty Russell's avatar
    virtio: balloon driver · 6b35e407
    Rusty Russell authored
    
    
    After discussions with Anthony Liguori, it seems that the virtio
    balloon can be made even simpler.  Here's my attempt.
    
    The device configuration tells the driver how much memory it should
    take from the guest (ie. balloon size).  The guest feeds the page
    numbers it has taken via one virtqueue.
    
    A second virtqueue feeds the page numbers the driver wants back: if
    the device has the VIRTIO_BALLOON_F_MUST_TELL_HOST bit, then this
    queue is compulsory, otherwise it's advisory (and the guest can simply
    fault the pages back in).
    
    This driver can be enhanced later to deflate the balloon via a
    shrinker, oom callback or we could even go for a complete set of
    in-guest regulators.
    
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    6b35e407