As we discovered yet another issue with current PBP code, we decided
to use a local PBP only, limited to one series of inflation requests.
This series supersedes:
- [PATCH-for-4.1 v2 0/3] virtio-balloon: fixes for PartialBalloonedPage
- [PATCH v1 0/3] virtio-balloon: PartialBalloonedPage rework
Patch #1 is a fix for a wrong sign extension (MST brought this up but
wasn't sure if it is broen - I think it is indeed broken). Patch #2 fixed
QEMU segfaults. Patch #3 and #4 are cleanups that make follow-up fixes
easier. Patch #5 avoids using RAMBlock addresses as tokens and patch #6
fixes all kinds of issues related to using a global PBP.
We want to have all patches in 4.1 and backport them to 4.0. Patch #1
needs backports to basically all QEMU releases with virtio-balloon.
Did a quick sanity test, hopefully no other BUG sneeked in. Will do some
more testing.
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: qemu-stable@nongnu.org
David Hildenbrand (6):
virtio-balloon: Fix wrong sign extension of PFNs
virtio-balloon: Fix QEMU crashes on pagesize > BALLOON_PAGE_SIZE
virtio-balloon: Simplify deflate with pbp
virtio-balloon: Better names for offset variables in inflate/deflate
code
virtio-balloon: Rework pbp tracking data
virtio-balloon: Use temporary PBP only
hw/virtio/virtio-balloon.c | 122 +++++++++++++++--------------
include/hw/virtio/virtio-balloon.h | 3 -
2 files changed, 62 insertions(+), 63 deletions(-)
--
2.21.0