diff mbox series

[PATCH-for-4.1,v4,7/7] virtio-balloon: No need to track subpages for the PBP anymore

Message ID 20190725113638.4702-8-david@redhat.com (mailing list archive)
State New, archived
Headers show
Series virtio-balloon: fixes | expand

Commit Message

David Hildenbrand July 25, 2019, 11:36 a.m. UTC
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(-)

Comments

David Gibson July 26, 2019, 8:10 a.m. UTC | #1
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 mbox series

Patch

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 */