• D
    Inhibit ballooning during postcopy · 371ff5a3
    Dr. David Alan Gilbert 提交于
    Postcopy detects accesses to pages that haven't been transferred yet
    using userfaultfd, and it causes exceptions on pages that are 'not
    present'.
    Ballooning also causes pages to be marked as 'not present' when the
    guest inflates the balloon.
    Potentially a balloon could be inflated to discard pages that are
    currently inflight during postcopy and that may be arriving at about
    the same time.
    
    To avoid this confusion, disable ballooning during postcopy.
    
    When disabled we drop balloon requests from the guest.  Since ballooning
    is generally initiated by the host, the management system should avoid
    initiating any balloon instructions to the guest during migration,
    although it's not possible to know how long it would take a guest to
    process a request made prior to the start of migration.
    Guest initiated ballooning will not know if it's really freed a page
    of host memory or not.
    
    Queueing the requests until after migration would be nice, but is
    non-trivial, since the set of inflate/deflate requests have to
    be compared with the state of the page to know what the final
    outcome is allowed to be.
    Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
    Reviewed-by: NJuan Quintela <quintela@redhat.com>
    Reviewed-by: NAmit Shah <amit.shah@redhat.com>
    Signed-off-by: NJuan Quintela <quintela@redhat.com>
    371ff5a3
postcopy-ram.c 22.5 KB