All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: Alexander Duyck <alexander.duyck@gmail.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	willy@infradead.org, mhocko@kernel.org, linux-mm@kvack.org,
	akpm@linux-foundation.org, mgorman@techsingularity.net,
	vbabka@suse.cz, yang.zhang.wz@gmail.com, nitesh@redhat.com,
	konrad.wilk@oracle.com, pagupta@redhat.com, riel@surriel.com,
	lcapitulino@redhat.com, dave.hansen@intel.com,
	wei.w.wang@intel.com, aarcange@redhat.com, pbonzini@redhat.com,
	dan.j.williams@intel.com, alexander.h.duyck@linux.intel.com,
	osalvador@suse.de
Subject: Re: [PATCH v16.1 6/9] virtio-balloon: Add support for providing free page reports to host
Date: Tue, 11 Feb 2020 09:07:12 -0500	[thread overview]
Message-ID: <20200211090052-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <ada0ec83-8e7d-abb3-7053-0ec2bf2a9aa5@redhat.com>

On Tue, Feb 11, 2020 at 01:19:31PM +0100, David Hildenbrand wrote:
> >>
> >> Did you see the discussion regarding unifying handling of
> >> inflate/deflate/free_page_hinting_free_page_reporting, requested by
> >> Michael? I think free page reporting is special and shall be left alone.
> > 
> > Not sure what do you mean by "left alone here". Could you clarify?
> 
> Don't try to unify handling like I proposed below, because it's
> semantics are special.
> 
> > 
> >> VIRTIO_BALLOON_F_REPORTING is nothing but a more advanced inflate, right
> >> (sg, inflate based on size - not "virtio pages")?
> > 
> > 
> > Not exactly - it's also initiated by guest as opposed to host, and
> > not guided by the ballon size request set by the host.
> 
> True, but AFAIKS you could use existing INFLATE/DEFLATE in a similar
> way. There is no way for the hypervisor to nack a request. The balloon
> size is not glued to inflate/deflate requests. The guests manually
> updates it.

Hmm how isn't it? num_pages is the only way to inflate/deflate.

Spec also says:
The device is driven either by the receipt of a configuration change notification, or by changing guest memory
needs, such as performing memory compaction or responding to out of memory conditions.

so ignoring compaction/oom (later is under-specified, not a good example
to follow) yes inflate/deflate are tied to host specified configuration.


> > And uses a dedicated queue to avoid blocking other functionality ...
> 
> True, but the other queues also don't allow for an easy extension
> AFAIKS, so that's another reason.
> 
> > 
> > I really think this is more like an inflate immediately followed by deflate.
> 
> Depends on how you look at it. As inflate/deflate is not glued to the
> balloon size (the guest updates the size manually), it's not obvious.
> 
> E.g., in QEMU, a deflate is just a performance improvement
> ("MADV_WILLNEED") - in that regard, it's more like an optional deflation.
> 
> [...]
> 
> > 
> > I'd rather wait until we have a usecase and preferably a POC
> > showing it helps before we add optional deflate ...
> > For now I personally am fine with just making this go ahead as is,
> > and imply SG and OPTIONAL_DEFLATE just for this VQ.
> 
> Also fine with me, you asked about if we can abstract any of this if I
> am not wrong :) So this was my take.
> 
> > 
> > Do you feel strongly we need to bring this up to a TC vote?
> 
> Not really. People have been asking about how to inflate/deflate huge
> pages a long time ago (comes with different challenges - e.g., balloon
> compaction). looked like this interface could have been reused for this
> as well.
> 
> But yeah, I am not a fan of virtio-balloon and the whole inflate/deflate
> thingy. So at least I don't see a need to extend the inflate/deflate
> capability.
> 
> Free page reporting is a different story (and the semantics require no
> inflate/deflate/balloon size) - it could have been moved to
> virtio-whatever without any issues. So I am fine with this.
> 
> -- 
> Thanks,
> 
> David / dhildenb


  reply	other threads:[~2020-02-11 14:07 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-22 17:43 [PATCH v16.1 0/9] mm / virtio: Provide support for free page reporting Alexander Duyck
2020-01-22 17:43 ` [PATCH v16.1 1/9] mm: Adjust shuffle code to allow for future coalescing Alexander Duyck
2020-01-22 17:43 ` [PATCH v16.1 2/9] mm: Use zone and order instead of free area in free_list manipulators Alexander Duyck
2020-01-22 17:43 ` [PATCH v16.1 3/9] mm: Add function __putback_isolated_page Alexander Duyck
2020-01-22 17:43 ` [PATCH v16.1 4/9] mm: Introduce Reported pages Alexander Duyck
2020-01-22 17:43 ` [PATCH v16.1 5/9] virtio-balloon: Pull page poisoning config out of free page hinting Alexander Duyck
2020-01-22 17:43 ` [PATCH v16.1 6/9] virtio-balloon: Add support for providing free page reports to host Alexander Duyck
2020-02-11 11:03   ` David Hildenbrand
2020-02-11 11:47     ` Michael S. Tsirkin
2020-02-11 12:19       ` David Hildenbrand
2020-02-11 14:07         ` Michael S. Tsirkin [this message]
2020-02-11 14:31           ` David Hildenbrand
2020-02-11 14:48             ` Michael S. Tsirkin
2020-02-11 15:13               ` David Hildenbrand
2020-02-11 16:33                 ` Alexander Duyck
2020-02-11 17:04                   ` David Hildenbrand
2020-01-22 17:43 ` [PATCH v16.1 7/9] mm/page_reporting: Rotate reported pages to the tail of the list Alexander Duyck
2020-01-22 17:43 ` [PATCH v16.1 8/9] mm/page_reporting: Add budget limit on how many pages can be reported per pass Alexander Duyck
2020-01-22 17:44 ` [PATCH v16.1 9/9] mm/page_reporting: Add free page reporting documentation Alexander Duyck
2020-01-23 10:20 ` [PATCH v16.1 0/9] mm / virtio: Provide support for free page reporting Alexander Graf
2020-01-23 14:05   ` David Hildenbrand
2020-01-23 14:52     ` Alexander Graf
2020-01-24 13:25       ` David Hildenbrand
2020-01-24 16:20         ` David Hildenbrand
2020-01-23 16:26   ` Alexander Duyck
2020-01-23 16:54     ` Alexander Graf
2020-01-23 18:33       ` Alexander Duyck
2020-01-23 18:47         ` Graf (AWS), Alexander
2020-01-23 22:05           ` Alexander Duyck
2020-01-23 17:20     ` Dave Hansen
2020-01-23 19:23       ` Konrad Rzeszutek Wilk
2020-01-23 19:17     ` Johannes Weiner
2020-01-23 22:29       ` Alexander Duyck
2020-01-23 23:24         ` Dave Hansen
2020-01-24 13:23 ` Hillf Danton
2020-01-24 16:40   ` Alexander Graf
2020-01-25  2:01   ` Hillf Danton
2020-02-03 22:05 ` Alexander Duyck
2020-02-10 19:18   ` Should I repost? (was: Re: [PATCH v16.1 0/9] mm / virtio: Provide support for free page reporting) Alexander Duyck
2020-02-11 10:40     ` Mel Gorman
2020-02-11 22:57       ` Alexander Duyck

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=20200211090052-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.duyck@gmail.com \
    --cc=alexander.h.duyck@linux.intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=lcapitulino@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@techsingularity.net \
    --cc=mhocko@kernel.org \
    --cc=nitesh@redhat.com \
    --cc=osalvador@suse.de \
    --cc=pagupta@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=riel@surriel.com \
    --cc=vbabka@suse.cz \
    --cc=wei.w.wang@intel.com \
    --cc=willy@infradead.org \
    --cc=yang.zhang.wz@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.