All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: Rik van Riel <riel@redhat.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Wei Wang <wei.w.wang@intel.com>,
	linux-kernel@vger.kernel.org, qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
	linux-mm@kvack.org, cornelia.huck@de.ibm.com,
	akpm@linux-foundation.org, mgorman@techsingularity.net,
	aarcange@redhat.com, amit.shah@redhat.com, pbonzini@redhat.com,
	liliang.opensource@gmail.com,
	Nitesh Narayan Lal <nilal@redhat.com>
Subject: Re: [PATCH v11 4/6] mm: function to offer a page block on the free list
Date: Tue, 20 Jun 2017 21:17:26 +0300	[thread overview]
Message-ID: <20170620211445-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <7b626551-6d1b-c8d5-4ef7-e357399e78dc@redhat.com>

On Tue, Jun 20, 2017 at 06:49:33PM +0200, David Hildenbrand wrote:
> On 20.06.2017 18:44, Rik van Riel wrote:
> > On Mon, 2017-06-12 at 07:10 -0700, Dave Hansen wrote:
> > 
> >> The hypervisor is going to throw away the contents of these pages,
> >> right?  As soon as the spinlock is released, someone can allocate a
> >> page, and put good data in it.  What keeps the hypervisor from
> >> throwing
> >> away good data?
> > 
> > That looks like it may be the wrong API, then?
> > 
> > We already have hooks called arch_free_page and
> > arch_alloc_page in the VM, which are called when
> > pages are freed, and allocated, respectively.
> > 
> > Nitesh Lal (on the CC list) is working on a way
> > to efficiently batch recently freed pages for
> > free page hinting to the hypervisor.
> > 
> > If that is done efficiently enough (eg. with
> > MADV_FREE on the hypervisor side for lazy freeing,
> > and lazy later re-use of the pages), do we still
> > need the harder to use batch interface from this
> > patch?
> > 
> David's opinion incoming:
> 
> No, I think proper free page hinting would be the optimum solution, if
> done right. This would avoid the batch interface and even turn
> virtio-balloon in some sense useless.

I agree generally. But we have to balance that against the fact that
this was discussed since at least 2011 and no one built this solution
yet.

> -- 
> 
> Thanks,
> 
> David

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: Rik van Riel <riel@redhat.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Wei Wang <wei.w.wang@intel.com>,
	linux-kernel@vger.kernel.org, qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
	linux-mm@kvack.org, cornelia.huck@de.ibm.com,
	akpm@linux-foundation.org, mgorman@techsingularity.net,
	aarcange@redhat.com, amit.shah@redhat.com, pbonzini@redhat.com,
	liliang.opensource@gmail.com,
	Nitesh Narayan Lal <nilal@redhat.com>
Subject: Re: [PATCH v11 4/6] mm: function to offer a page block on the free list
Date: Tue, 20 Jun 2017 21:17:26 +0300	[thread overview]
Message-ID: <20170620211445-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <7b626551-6d1b-c8d5-4ef7-e357399e78dc@redhat.com>

On Tue, Jun 20, 2017 at 06:49:33PM +0200, David Hildenbrand wrote:
> On 20.06.2017 18:44, Rik van Riel wrote:
> > On Mon, 2017-06-12 at 07:10 -0700, Dave Hansen wrote:
> > 
> >> The hypervisor is going to throw away the contents of these pages,
> >> right?  As soon as the spinlock is released, someone can allocate a
> >> page, and put good data in it.  What keeps the hypervisor from
> >> throwing
> >> away good data?
> > 
> > That looks like it may be the wrong API, then?
> > 
> > We already have hooks called arch_free_page and
> > arch_alloc_page in the VM, which are called when
> > pages are freed, and allocated, respectively.
> > 
> > Nitesh Lal (on the CC list) is working on a way
> > to efficiently batch recently freed pages for
> > free page hinting to the hypervisor.
> > 
> > If that is done efficiently enough (eg. with
> > MADV_FREE on the hypervisor side for lazy freeing,
> > and lazy later re-use of the pages), do we still
> > need the harder to use batch interface from this
> > patch?
> > 
> David's opinion incoming:
> 
> No, I think proper free page hinting would be the optimum solution, if
> done right. This would avoid the batch interface and even turn
> virtio-balloon in some sense useless.

I agree generally. But we have to balance that against the fact that
this was discussed since at least 2011 and no one built this solution
yet.

> -- 
> 
> Thanks,
> 
> David

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: Rik van Riel <riel@redhat.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Wei Wang <wei.w.wang@intel.com>,
	linux-kernel@vger.kernel.org, qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
	linux-mm@kvack.org, cornelia.huck@de.ibm.com,
	akpm@linux-foundation.org, mgorman@techsingularity.net,
	aarcange@redhat.com, amit.shah@redhat.com, pbonzini@redhat.com,
	liliang.opensource@gmail.com,
	Nitesh Narayan Lal <nilal@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list
Date: Tue, 20 Jun 2017 21:17:26 +0300	[thread overview]
Message-ID: <20170620211445-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <7b626551-6d1b-c8d5-4ef7-e357399e78dc@redhat.com>

On Tue, Jun 20, 2017 at 06:49:33PM +0200, David Hildenbrand wrote:
> On 20.06.2017 18:44, Rik van Riel wrote:
> > On Mon, 2017-06-12 at 07:10 -0700, Dave Hansen wrote:
> > 
> >> The hypervisor is going to throw away the contents of these pages,
> >> right?  As soon as the spinlock is released, someone can allocate a
> >> page, and put good data in it.  What keeps the hypervisor from
> >> throwing
> >> away good data?
> > 
> > That looks like it may be the wrong API, then?
> > 
> > We already have hooks called arch_free_page and
> > arch_alloc_page in the VM, which are called when
> > pages are freed, and allocated, respectively.
> > 
> > Nitesh Lal (on the CC list) is working on a way
> > to efficiently batch recently freed pages for
> > free page hinting to the hypervisor.
> > 
> > If that is done efficiently enough (eg. with
> > MADV_FREE on the hypervisor side for lazy freeing,
> > and lazy later re-use of the pages), do we still
> > need the harder to use batch interface from this
> > patch?
> > 
> David's opinion incoming:
> 
> No, I think proper free page hinting would be the optimum solution, if
> done right. This would avoid the batch interface and even turn
> virtio-balloon in some sense useless.

I agree generally. But we have to balance that against the fact that
this was discussed since at least 2011 and no one built this solution
yet.

> -- 
> 
> Thanks,
> 
> David

  parent reply	other threads:[~2017-06-20 18:17 UTC|newest]

Thread overview: 175+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-09 10:41 [PATCH v11 0/6] Virtio-balloon Enhancement Wei Wang
2017-06-09 10:41 ` [Qemu-devel] " Wei Wang
2017-06-09 10:41 ` Wei Wang
2017-06-09 10:41 ` [PATCH v11 1/6] virtio-balloon: deflate via a page list Wei Wang
2017-06-09 10:41 ` Wei Wang
2017-06-09 10:41   ` [Qemu-devel] " Wei Wang
2017-06-09 10:41   ` Wei Wang
2017-06-09 10:41 ` [PATCH v11 2/6] virtio-balloon: coding format cleanup Wei Wang
2017-06-09 10:41   ` [Qemu-devel] " Wei Wang
2017-06-09 10:41   ` Wei Wang
2017-06-09 10:41 ` Wei Wang
2017-06-09 10:41 ` [PATCH v11 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS Wei Wang
2017-06-09 10:41   ` [Qemu-devel] " Wei Wang
2017-06-09 10:41   ` Wei Wang
2017-06-13 17:56   ` Michael S. Tsirkin
2017-06-13 17:56   ` Michael S. Tsirkin
2017-06-13 17:56     ` [Qemu-devel] " Michael S. Tsirkin
2017-06-13 17:56     ` Michael S. Tsirkin
2017-06-13 17:59     ` Dave Hansen
2017-06-13 17:59     ` Dave Hansen
2017-06-13 17:59       ` [Qemu-devel] " Dave Hansen
2017-06-13 17:59       ` Dave Hansen
2017-06-13 18:55       ` Michael S. Tsirkin
2017-06-13 18:55         ` [Qemu-devel] " Michael S. Tsirkin
2017-06-13 18:55         ` Michael S. Tsirkin
2017-06-13 18:55       ` Michael S. Tsirkin
2017-06-15  8:10     ` [virtio-dev] " Wei Wang
2017-06-15  8:10     ` Wei Wang
2017-06-15  8:10       ` [Qemu-devel] " Wei Wang
2017-06-15  8:10       ` Wei Wang
2017-06-16  3:19       ` Michael S. Tsirkin
2017-06-16  3:19       ` Michael S. Tsirkin
2017-06-16  3:19         ` [Qemu-devel] " Michael S. Tsirkin
2017-06-16  3:19         ` Michael S. Tsirkin
2017-06-16  3:19         ` Michael S. Tsirkin
2017-06-28 15:04       ` [virtio-dev] " Matthew Wilcox
2017-06-28 15:04         ` [Qemu-devel] " Matthew Wilcox
2017-06-28 15:04         ` Matthew Wilcox
2017-06-28 15:04         ` Matthew Wilcox
2017-07-12 13:05         ` Wei Wang
2017-07-12 13:05           ` Wei Wang
2017-07-12 13:05           ` [Qemu-devel] " Wei Wang
2017-07-12 13:05           ` Wei Wang
2017-07-12 13:05           ` Wei Wang
2017-07-12 13:05         ` [virtio-dev] " Wei Wang
2017-06-09 10:41 ` Wei Wang
2017-06-09 10:41 ` [PATCH v11 4/6] mm: function to offer a page block on the free list Wei Wang
2017-06-09 10:41 ` Wei Wang
2017-06-09 10:41   ` [Qemu-devel] " Wei Wang
2017-06-09 10:41   ` Wei Wang
2017-06-12 14:10   ` Dave Hansen
2017-06-12 14:10     ` [Qemu-devel] " Dave Hansen
2017-06-12 14:10     ` Dave Hansen
2017-06-12 16:28     ` Michael S. Tsirkin
2017-06-12 16:28       ` [Qemu-devel] " Michael S. Tsirkin
2017-06-12 16:28       ` Michael S. Tsirkin
2017-06-12 16:42       ` Dave Hansen
2017-06-12 16:42       ` Dave Hansen
2017-06-12 16:42         ` [Qemu-devel] " Dave Hansen
2017-06-12 16:42         ` Dave Hansen
2017-06-12 20:34         ` Michael S. Tsirkin
2017-06-12 20:34           ` [Qemu-devel] " Michael S. Tsirkin
2017-06-12 20:34           ` Michael S. Tsirkin
2017-06-12 20:34           ` Michael S. Tsirkin
2017-06-12 20:54           ` Dave Hansen
2017-06-12 20:54             ` [Qemu-devel] " Dave Hansen
2017-06-12 20:54             ` Dave Hansen
2017-06-13  2:56             ` Wei Wang
2017-06-13  2:56               ` [Qemu-devel] " Wei Wang
2017-06-13  2:56               ` Wei Wang
2017-06-13  2:56               ` Wei Wang
2017-06-12 20:54           ` Dave Hansen
2017-06-12 16:28     ` Michael S. Tsirkin
2017-06-20 16:44     ` Rik van Riel
2017-06-20 16:44       ` [Qemu-devel] " Rik van Riel
2017-06-20 16:44       ` Rik van Riel
2017-06-20 16:49       ` David Hildenbrand
2017-06-20 16:49       ` David Hildenbrand
2017-06-20 16:49         ` [Qemu-devel] " David Hildenbrand
2017-06-20 16:49         ` David Hildenbrand
2017-06-20 17:29         ` Rik van Riel
2017-06-20 17:29         ` Rik van Riel
2017-06-20 17:29           ` [Qemu-devel] " Rik van Riel
2017-06-20 17:29           ` Rik van Riel
2017-06-20 18:26           ` Michael S. Tsirkin
2017-06-20 18:26           ` Michael S. Tsirkin
2017-06-20 18:26             ` [Qemu-devel] " Michael S. Tsirkin
2017-06-20 18:26             ` Michael S. Tsirkin
2017-06-20 19:51             ` Rik van Riel
2017-06-20 19:51               ` [Qemu-devel] " Rik van Riel
2017-06-20 19:51               ` Rik van Riel
2017-06-21 12:41               ` Michael S. Tsirkin
2017-06-21 12:41               ` Michael S. Tsirkin
2017-06-21 12:41                 ` [Qemu-devel] " Michael S. Tsirkin
2017-06-21 12:41                 ` Michael S. Tsirkin
2017-06-21 12:41                 ` Michael S. Tsirkin
2017-06-20 19:51             ` Rik van Riel
2017-06-21  8:38           ` [Qemu-devel] " Wei Wang
2017-06-21  8:38             ` Wei Wang
2017-06-21  8:38           ` Wei Wang
2017-06-20 18:17         ` Michael S. Tsirkin [this message]
2017-06-20 18:17           ` Michael S. Tsirkin
2017-06-20 18:17           ` Michael S. Tsirkin
2017-06-20 18:54           ` David Hildenbrand
2017-06-20 18:54             ` [Qemu-devel] " David Hildenbrand
2017-06-20 18:54             ` David Hildenbrand
2017-06-20 18:56             ` Michael S. Tsirkin
2017-06-20 18:56               ` [Qemu-devel] " Michael S. Tsirkin
2017-06-20 18:56               ` Michael S. Tsirkin
2017-06-20 19:01               ` David Hildenbrand
2017-06-20 19:01                 ` [Qemu-devel] " David Hildenbrand
2017-06-20 19:01                 ` David Hildenbrand
2017-06-20 19:01               ` David Hildenbrand
2017-06-20 18:56             ` Michael S. Tsirkin
2017-06-20 18:54           ` David Hildenbrand
2017-06-20 18:17         ` Michael S. Tsirkin
2017-06-21 12:56         ` Christian Borntraeger
2017-06-21 12:56           ` [Qemu-devel] " Christian Borntraeger
2017-06-21 12:56           ` Christian Borntraeger
2017-06-21 13:47           ` David Hildenbrand
2017-06-21 13:47           ` David Hildenbrand
2017-06-21 13:47             ` [Qemu-devel] " David Hildenbrand
2017-06-21 13:47             ` David Hildenbrand
2017-06-20 16:44     ` Rik van Riel
2017-06-12 14:10   ` Dave Hansen
2017-06-09 10:41 ` [PATCH v11 5/6] mm: export symbol of next_zone and first_online_pgdat Wei Wang
2017-06-09 10:41   ` [Qemu-devel] " Wei Wang
2017-06-09 10:41   ` Wei Wang
2017-06-09 10:41 ` Wei Wang
2017-06-09 10:41 ` [PATCH v11 6/6] virtio-balloon: VIRTIO_BALLOON_F_CMD_VQ Wei Wang
2017-06-09 10:41 ` Wei Wang
2017-06-09 10:41   ` [Qemu-devel] " Wei Wang
2017-06-09 10:41   ` Wei Wang
2017-06-12 14:07   ` Dave Hansen
2017-06-12 14:07     ` [Qemu-devel] " Dave Hansen
2017-06-12 14:07     ` Dave Hansen
2017-06-13 10:17     ` Wei Wang
2017-06-13 10:17     ` Wei Wang
2017-06-13 10:17       ` [Qemu-devel] " Wei Wang
2017-06-13 10:17       ` Wei Wang
2017-06-12 14:07   ` Dave Hansen
2017-06-20 16:18   ` Michael S. Tsirkin
2017-06-20 16:18   ` Michael S. Tsirkin
2017-06-20 16:18     ` [Qemu-devel] " Michael S. Tsirkin
2017-06-20 16:18     ` Michael S. Tsirkin
2017-06-21  3:28     ` [virtio-dev] " Wei Wang
2017-06-21  3:28       ` [Qemu-devel] " Wei Wang
2017-06-21  3:28       ` Wei Wang
2017-06-21  3:28       ` Wei Wang
2017-06-21 12:28       ` [virtio-dev] " Michael S. Tsirkin
2017-06-21 12:28         ` [Qemu-devel] " Michael S. Tsirkin
2017-06-21 12:28         ` Michael S. Tsirkin
2017-06-21 12:28         ` Michael S. Tsirkin
2017-06-22  8:40         ` Wei Wang
2017-06-22  8:40           ` [Qemu-devel] " Wei Wang
2017-06-22  8:40           ` Wei Wang
2017-06-22  8:40           ` Wei Wang
2017-06-28 15:01           ` Michael S. Tsirkin
2017-06-28 15:01           ` Michael S. Tsirkin
2017-06-28 15:01             ` [Qemu-devel] " Michael S. Tsirkin
2017-06-28 15:01             ` Michael S. Tsirkin
2017-06-28 15:01             ` Michael S. Tsirkin
2017-07-12 12:57             ` Wei Wang
2017-07-12 12:57             ` Wei Wang
2017-07-12 12:57               ` Wei Wang
2017-07-12 12:57               ` [Qemu-devel] " Wei Wang
2017-07-12 12:57               ` Wei Wang
2017-07-12 12:57               ` Wei Wang
2017-06-22  8:40         ` [virtio-dev] " Wei Wang
2017-06-21  3:28     ` Wei Wang
2017-06-09 11:18 ` [PATCH v11 0/6] Virtio-balloon Enhancement Wang, Wei W
2017-06-09 11:18 ` Wang, Wei W
2017-06-09 11:18   ` [Qemu-devel] " Wang, Wei W
2017-06-09 11:18   ` Wang, Wei W
2017-06-09 11:18   ` Wang, Wei W

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=20170620211445-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=amit.shah@redhat.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=liliang.opensource@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@techsingularity.net \
    --cc=nilal@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=riel@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=wei.w.wang@intel.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.