Message ID | 20190725113638.4702-8-david@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | virtio-balloon: fixes | expand |
On Thu, Jul 25, 2019 at 01:36:38PM +0200, David Hildenbrand wrote: > As ramblocks cannot get removed/readded while we are processing a bulk > of inflation requests, there is no more need to track the page size > in form of the number of subpages. > > Suggested-by: David Gibson <david@gibson.dropbear.id.au> > Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/virtio/virtio-balloon.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c > index a6282d58d4..fe9664e42c 100644 > --- a/hw/virtio/virtio-balloon.c > +++ b/hw/virtio/virtio-balloon.c > @@ -36,7 +36,6 @@ > > typedef struct PartiallyBalloonedPage { > ram_addr_t base_gpa; > - long subpages; > unsigned long *bitmap; > } PartiallyBalloonedPage; > > @@ -55,16 +54,15 @@ static PartiallyBalloonedPage *virtio_balloon_pbp_alloc(ram_addr_t base_gpa, > PartiallyBalloonedPage *pbp = g_new0(PartiallyBalloonedPage, 1); > > pbp->base_gpa = base_gpa; > - pbp->subpages = subpages; > pbp->bitmap = bitmap_new(subpages); > > return pbp; > } > > static bool virtio_balloon_pbp_matches(PartiallyBalloonedPage *pbp, > - ram_addr_t base_gpa, long subpages) > + ram_addr_t base_gpa) > { > - return pbp->subpages == subpages && pbp->base_gpa == base_gpa; > + return pbp->base_gpa == base_gpa; > } > > static void balloon_inflate_page(VirtIOBalloon *balloon, > @@ -106,7 +104,7 @@ static void balloon_inflate_page(VirtIOBalloon *balloon, > base_gpa = memory_region_get_ram_addr(mr) + mr_offset - > (rb_offset - rb_aligned_offset); > > - if (*pbp && !virtio_balloon_pbp_matches(*pbp, base_gpa, subpages)) { > + if (*pbp && !virtio_balloon_pbp_matches(*pbp, base_gpa)) { > /* We've partially ballooned part of a host page, but now > * we're trying to balloon part of a different one. Too hard, > * give up on the old partial page */
diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index a6282d58d4..fe9664e42c 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -36,7 +36,6 @@ typedef struct PartiallyBalloonedPage { ram_addr_t base_gpa; - long subpages; unsigned long *bitmap; } PartiallyBalloonedPage; @@ -55,16 +54,15 @@ static PartiallyBalloonedPage *virtio_balloon_pbp_alloc(ram_addr_t base_gpa, PartiallyBalloonedPage *pbp = g_new0(PartiallyBalloonedPage, 1); pbp->base_gpa = base_gpa; - pbp->subpages = subpages; pbp->bitmap = bitmap_new(subpages); return pbp; } static bool virtio_balloon_pbp_matches(PartiallyBalloonedPage *pbp, - ram_addr_t base_gpa, long subpages) + ram_addr_t base_gpa) { - return pbp->subpages == subpages && pbp->base_gpa == base_gpa; + return pbp->base_gpa == base_gpa; } static void balloon_inflate_page(VirtIOBalloon *balloon, @@ -106,7 +104,7 @@ static void balloon_inflate_page(VirtIOBalloon *balloon, base_gpa = memory_region_get_ram_addr(mr) + mr_offset - (rb_offset - rb_aligned_offset); - if (*pbp && !virtio_balloon_pbp_matches(*pbp, base_gpa, subpages)) { + if (*pbp && !virtio_balloon_pbp_matches(*pbp, base_gpa)) { /* We've partially ballooned part of a host page, but now * we're trying to balloon part of a different one. Too hard, * give up on the old partial page */
As ramblocks cannot get removed/readded while we are processing a bulk of inflation requests, there is no more need to track the page size in form of the number of subpages. Suggested-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Hildenbrand <david@redhat.com> --- hw/virtio/virtio-balloon.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)