Messages in this thread Patch in this message | | | From | Alexander Atanasov <> | Subject | [PATCH v6 2/2] Unify how inflated memory is accounted in virtio balloon driver | Date | Tue, 26 Jul 2022 14:10:47 +0000 |
| |
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@virtuozzo.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
| |