Skip to content
  • David Hildenbrand's avatar
    d24f31db
    exec: Introduce ram_block_discard_(disable|require)() · d24f31db
    David Hildenbrand authored
    
    
    We want to replace qemu_balloon_inhibit() by something more generic.
    Especially, we want to make sure that technologies that really rely on
    RAM block discards to work reliably to run mutual exclusive with
    technologies that effectively break it.
    
    E.g., vfio will usually pin all guest memory, turning the virtio-balloon
    basically useless and make the VM consume more memory than reported via
    the balloon. While the balloon is special already (=> no guarantees, same
    behavior possible afer reboots and with huge pages), this will be
    different, especially, with virtio-mem.
    
    Let's implement a way such that we can make both types of technology run
    mutually exclusive. We'll convert existing balloon inhibitors in successive
    patches and add some new ones. Add the check to
    qemu_balloon_is_inhibited() for now. We might want to make
    virtio-balloon an acutal inhibitor in the future - however, that
    requires more thought to not break existing setups.
    
    Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Richard Henderson <rth@twiddle.net>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
    Message-Id: <20200626072248.78761-3-david@redhat.com>
    Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    d24f31db
    exec: Introduce ram_block_discard_(disable|require)()
    David Hildenbrand authored
    
    
    We want to replace qemu_balloon_inhibit() by something more generic.
    Especially, we want to make sure that technologies that really rely on
    RAM block discards to work reliably to run mutual exclusive with
    technologies that effectively break it.
    
    E.g., vfio will usually pin all guest memory, turning the virtio-balloon
    basically useless and make the VM consume more memory than reported via
    the balloon. While the balloon is special already (=> no guarantees, same
    behavior possible afer reboots and with huge pages), this will be
    different, especially, with virtio-mem.
    
    Let's implement a way such that we can make both types of technology run
    mutually exclusive. We'll convert existing balloon inhibitors in successive
    patches and add some new ones. Add the check to
    qemu_balloon_is_inhibited() for now. We might want to make
    virtio-balloon an acutal inhibitor in the future - however, that
    requires more thought to not break existing setups.
    
    Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Richard Henderson <rth@twiddle.net>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
    Message-Id: <20200626072248.78761-3-david@redhat.com>
    Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Loading