On Fri, Oct 12, 2018 at 01:26:45PM -0400, Michael S. Tsirkin wrote: > On Fri, Oct 12, 2018 at 02:24:26PM +1100, David Gibson wrote: > > The virtio-balloon devices was never really thought out for cases > > other than 4kiB pagesize on both guest and host. It works in some > > cases, but in others can be ineffectual or even cause guest memory > > corruption. > > > > This series makes a handful of preliminary cleanups, then makes a > > change to safely, though not perfectly, handle cases with non 4kiB > > pagesizes. > > BTW do you want to add an interface to specify the page size? > I can see either host or guest or both supporting that. To make this work, it really has to be advertised by the host. Only the host can know what a suitable discard granularity is. It would make the balloon more widely usable, however it makes the guest side driver vastly more complex, since it will need to find contiguous chunks of memory to discard. Given the numerous problems with the balloon model (which David Hildenbrand has and is continuing to point out), I'm not sure it's work the trouble. > Reviewed-by: Michael S. Tsirkin > > > > David Gibson (5): > > virtio-balloon: Remove unnecessary MADV_WILLNEED on deflate > > virtio-balloon: Corrections to address verification > > virtio-balloon: Rework ballon_page() interface > > virtio-balloon: Use ram_block_discard_range() instead of raw madvise() > > virtio-balloon: Safely handle BALLOON_PAGE_SIZE < host page size > > > > hw/virtio/virtio-balloon.c | 100 ++++++++++++++++++++++++----- > > include/hw/virtio/virtio-balloon.h | 3 + > > 2 files changed, 87 insertions(+), 16 deletions(-) > > > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson