[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220726141047.72913-1-alexander.atanasov@virtuozzo.com>
Date: Tue, 26 Jul 2022 14:10:47 +0000
From: Alexander Atanasov <alexander.atanasov@...tuozzo.com>
To: "Michael S. Tsirkin" <mst@...hat.com>,
David Hildenbrand <david@...hat.com>,
Jason Wang <jasowang@...hat.com>
Cc: kernel@...nvz.org,
Alexander Atanasov <alexander.atanasov@...tuozzo.com>,
virtualization@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v6 2/2] Unify how inflated memory is accounted in virtio balloon driver
Always account inflated memory as used for both cases - with and
without deflate on oom. Do not change total ram which can confuse
userspace and users.
Signed-off-by: Alexander Atanasov <alexander.atanasov@...tuozzo.com>
---
drivers/virtio/virtio_balloon.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
index 97d3b29cb9f1..fa6ddec45fc4 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -244,9 +244,6 @@ static unsigned fill_balloon(struct virtio_balloon *vb, size_t num)
set_page_pfns(vb, vb->pfns + vb->num_pfns, page);
vb->num_pages += VIRTIO_BALLOON_PAGES_PER_PAGE;
- if (!virtio_has_feature(vb->vdev,
- VIRTIO_BALLOON_F_DEFLATE_ON_OOM))
- adjust_managed_page_count(page, -1);
vb->num_pfns += VIRTIO_BALLOON_PAGES_PER_PAGE;
}
@@ -265,9 +262,6 @@ static void release_pages_balloon(struct virtio_balloon *vb,
struct page *page, *next;
list_for_each_entry_safe(page, next, pages, lru) {
- if (!virtio_has_feature(vb->vdev,
- VIRTIO_BALLOON_F_DEFLATE_ON_OOM))
- adjust_managed_page_count(page, 1);
list_del(&page->lru);
put_page(page); /* balloon reference */
}
@@ -750,12 +744,9 @@ static void report_free_page_func(struct work_struct *work)
static int virtio_balloon_debug_show(struct seq_file *f, void *offset)
{
struct virtio_balloon *vb = f->private;
- s64 num_pages = vb->num_pages << (VIRTIO_BALLOON_PFN_SHIFT - 10);
+ u64 num_pages = vb->num_pages << (VIRTIO_BALLOON_PFN_SHIFT - 10);
- if (!virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_DEFLATE_ON_OOM))
- num_pages = -num_pages;
-
- seq_printf(f, "inflated: %lld kB\n", num_pages);
+ seq_printf(f, "inflated: %llu kB\n", num_pages);
return 0;
}
--
2.25.1
Powered by blists - more mailing lists