mbox series

[v20,QEMU,0/5] virtio-balloon: add support for free page reporting

Message ID 20200416195641.13144.16955.stgit@localhost.localdomain (mailing list archive)
Headers show
Series virtio-balloon: add support for free page reporting | expand

Message

Alexander Duyck April 16, 2020, 8 p.m. UTC
This series provides an asynchronous means of reporting free guest pages
to QEMU through virtio-balloon so that the memory associated with those
pages can be dropped and reused by other processes and/or guests on the
host. Using this it is possible to avoid unnecessary I/O to disk and
greatly improve performance in the case of memory overcommit on the host.

I originally submitted this patch series back on February 11th 2020[1],
but at that time I was focused primarily on the kernel portion of this
patch set. However as of April 7th those patches are now included in
Linus's kernel tree[2] and so I am submitting the QEMU pieces for
inclusion.

[1]: https://lore.kernel.org/lkml/20200211224416.29318.44077.stgit@localhost.localdomain/
[2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b0c504f154718904ae49349147e3b7e6ae91ffdc

Changes from v17:
Fixed typo in patch 1 title
Addressed white-space issues reported via checkpatch
Added braces {} for two if statements to match expected coding style

Changes from v18:
Updated patches 2 and 3 based on input from dhildenb
Added comment to patch 2 describing what keeps us from reporting a bad page
Added patch to address issue with ROM devices being directly writable

Changes from v19:
Added std-headers change to match changes pushed for linux kernel headers
Added patch to remove "report" from page hinting code paths
Updated comment to better explain why we disable hints w/ page poisoning
Removed code that was modifying config size for poison vs hinting
Dropped x-page-poison property
Added code to bounds check the reported region vs the RAM block
Dropped patch for ROM devices as that was already pulled in by Paolo

---

Alexander Duyck (5):
      linux-headers: Update to allow renaming of free_page_report_cmd_id
      virtio-balloon: Replace free page hinting references to 'report' with 'hint'
      virtio-balloon: Implement support for page poison tracking feature
      linux-headers: update to contain virito-balloon free page reporting
      virtio-balloon: Provide an interface for free page reporting


 hw/virtio/virtio-balloon.c                      |  161 ++++++++++++++++++-----
 include/hw/virtio/virtio-balloon.h              |   23 ++-
 include/standard-headers/linux/virtio_balloon.h |   12 +-
 3 files changed, 146 insertions(+), 50 deletions(-)

--

Comments

no-reply@patchew.org April 16, 2020, 8:54 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20200416195641.13144.16955.stgit@localhost.localdomain/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH v20 QEMU 0/5] virtio-balloon: add support for free page reporting
Message-id: 20200416195641.13144.16955.stgit@localhost.localdomain
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Switched to a new branch 'test'
33de5c8 virtio-balloon: Provide an interface for free page reporting
20cd9d2 linux-headers: update to contain virito-balloon free page reporting
fe9a29b virtio-balloon: Implement support for page poison tracking feature
5824022 virtio-balloon: Replace free page hinting references to 'report' with 'hint'
9fcf955 linux-headers: Update to allow renaming of free_page_report_cmd_id

=== OUTPUT BEGIN ===
1/5 Checking commit 9fcf955ce5d7 (linux-headers: Update to allow renaming of free_page_report_cmd_id)
2/5 Checking commit 58240226c116 (virtio-balloon: Replace free page hinting references to 'report' with 'hint')
3/5 Checking commit fe9a29ba1521 (virtio-balloon: Implement support for page poison tracking feature)
4/5 Checking commit 20cd9d2d0845 (linux-headers: update to contain virito-balloon free page reporting)
5/5 Checking commit 33de5c8bb2f6 (virtio-balloon: Provide an interface for free page reporting)
ERROR: code indent should never use tabs
#68: FILE: hw/virtio/virtio-balloon.c:364:
+^I^I(ram_offset + size) > qemu_ram_get_used_length(rb)) {$

total: 1 errors, 0 warnings, 94 lines checked

Patch 5/5 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200416195641.13144.16955.stgit@localhost.localdomain/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com