From: Eric Blake <eblake@redhat.com>
To: Richard Henderson <richard.henderson@linaro.org>,
David Gibson <david@gibson.dropbear.id.au>,
dhildenb@redhat.com, imammedo@redhat.com, ehabkost@redhat.com
Cc: pbonzini@redhat.com, qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
mst@redhat.com
Subject: Re: [Qemu-devel] [RFC 1/5] virtio-balloon: Remove unnecessary MADV_WILLNEED on deflate
Date: Fri, 12 Oct 2018 12:59:53 -0500 [thread overview]
Message-ID: <aab53fe8-84f3-b585-7a7c-dd007e830606@redhat.com> (raw)
In-Reply-To: <364642df-1e17-dbea-1cec-a5cf6c606b27@linaro.org>
On 10/12/18 12:41 PM, Richard Henderson wrote:
> On 10/11/18 8:24 PM, David Gibson wrote:
>> When the balloon is inflated, we discard memory place in it using madvise()
>> with MADV_DONTNEED. And when we deflate it we use MADV_WILLNEED, which
>> sounds like it makes sense but is actually unnecessary.
>>
>> The misleadingly named MADV_DONTNEED just discards the memory in question,
>> it doesn't set any persistent state on it in-kernel; all that's necessary
>> to bring the memory back is to touch it.
>
>
> Isn't the point of deflate to free up host memory, for use by other guests or
> whatever?
If I remember correctly, deflate says to make the balloon smaller (that
is, the balloon gets out of the way so that the guest can use more
memory); inflate says to make the balloon bigger (that is, the guest has
less memory available to use because the inflated balloon is occupying
that memory instead - where memory occupied by the balloon is really
memory handed back to the host).
>
> If you do nothing upon deflate, then that doesn't actually happen. It seems to
> me that this is backward and you should use DONTNEED on deflate and then
> inflate should do nothing.
Or rather, it sounds like your definition of deflate is opposite the one
I recall (you are trying to argue that deflate means the guest uses less
memory and is therefore deflating in size; while I thought deflate meant
that the balloon shrinks in size making more memory available to the guest).
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
next prev parent reply other threads:[~2018-10-12 18:00 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-12 3:24 [Qemu-devel] [RFC 0/5] Improve balloon handling of pagesizes other than 4kiB David Gibson
2018-10-12 3:24 ` [Qemu-devel] [RFC 1/5] virtio-balloon: Remove unnecessary MADV_WILLNEED on deflate David Gibson
2018-10-12 7:40 ` David Hildenbrand
2018-10-13 6:26 ` David Gibson
2018-10-12 17:41 ` Richard Henderson
2018-10-12 17:59 ` Eric Blake [this message]
2018-10-13 6:23 ` David Gibson
2018-10-12 18:05 ` Michael S. Tsirkin
2018-10-15 6:54 ` David Hildenbrand
2018-10-15 10:43 ` Michael S. Tsirkin
2018-10-15 11:14 ` David Hildenbrand
2018-12-04 4:26 ` David Gibson
2018-10-12 3:24 ` [Qemu-devel] [RFC 2/5] virtio-balloon: Corrections to address verification David Gibson
2018-10-12 7:44 ` David Hildenbrand
2018-10-13 6:25 ` David Gibson
2018-10-12 3:24 ` [Qemu-devel] [RFC 3/5] virtio-balloon: Rework ballon_page() interface David Gibson
2018-10-12 7:46 ` David Hildenbrand
2018-10-13 6:29 ` David Gibson
2018-10-12 3:24 ` [Qemu-devel] [RFC 4/5] virtio-balloon: Use ram_block_discard_range() instead of raw madvise() David Gibson
2018-10-12 3:24 ` [Qemu-devel] [RFC 5/5] virtio-balloon: Safely handle BALLOON_PAGE_SIZE < host page size David Gibson
2018-10-12 8:06 ` David Hildenbrand
2018-10-13 6:40 ` David Gibson
2018-10-15 7:08 ` David Hildenbrand
2018-10-17 3:28 ` David Gibson
2018-10-17 9:56 ` David Hildenbrand
2018-10-23 8:02 ` David Gibson
2018-10-23 15:13 ` David Hildenbrand
2018-10-12 8:32 ` David Hildenbrand
2018-10-13 6:41 ` David Gibson
2018-10-12 17:26 ` [Qemu-devel] [RFC 0/5] Improve balloon handling of pagesizes other than 4kiB Michael S. Tsirkin
2018-10-17 3:31 ` David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aab53fe8-84f3-b585-7a7c-dd007e830606@redhat.com \
--to=eblake@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=dhildenb@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).