All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Wang <wei.w.wang@intel.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtio-dev@lists.oasis-open.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
	linux-mm@kvack.org, mhocko@kernel.org, akpm@linux-foundation.org,
	torvalds@linux-foundation.org, pbonzini@redhat.com,
	liliang.opensource@gmail.com, yang.zhang.wz@gmail.com,
	quan.xu0@gmail.com, nilal@redhat.com, riel@redhat.com,
	peterx@redhat.com
Subject: Re: [PATCH v34 2/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
Date: Tue, 26 Jun 2018 20:27:44 +0800	[thread overview]
Message-ID: <5B323140.1000306@intel.com> (raw)
In-Reply-To: <20180626064338-mutt-send-email-mst@kernel.org>

On 06/26/2018 11:56 AM, Michael S. Tsirkin wrote:
> On Tue, Jun 26, 2018 at 11:46:35AM +0800, Wei Wang wrote:
>

>>
>>>
>>>> +	if (!arrays)
>>>> +		return NULL;
>>>> +
>>>> +	for (i = 0; i < max_array_num; i++) {
>>> So we are getting a ton of memory here just to free it up a bit later.
>>> Why doesn't get_from_free_page_list get the pages from free list for us?
>>> We could also avoid the 1st allocation then - just build a list
>>> of these.
>> That wouldn't be a good choice for us. If we check how the regular
>> allocation works, there are many many things we need to consider when pages
>> are allocated to users.
>> For example, we need to take care of the nr_free
>> counter, we need to check the watermark and perform the related actions.
>> Also the folks working on arch_alloc_page to monitor page allocation
>> activities would get a surprise..if page allocation is allowed to work in
>> this way.
>>
> mm/ code is well positioned to handle all this correctly.

I'm afraid that would be a re-implementation of the alloc functions, and 
that would be much more complex than what we have. I think your idea of 
passing a list of pages is better.

Best,
Wei







WARNING: multiple messages have this Message-ID (diff)
From: Wei Wang <wei.w.wang@intel.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: yang.zhang.wz@gmail.com, virtio-dev@lists.oasis-open.org,
	riel@redhat.com, quan.xu0@gmail.com, kvm@vger.kernel.org,
	nilal@redhat.com, liliang.opensource@gmail.com,
	linux-kernel@vger.kernel.org, mhocko@kernel.org,
	linux-mm@kvack.org, pbonzini@redhat.com,
	akpm@linux-foundation.org,
	virtualization@lists.linux-foundation.org,
	torvalds@linux-foundation.org
Subject: Re: [PATCH v34 2/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
Date: Tue, 26 Jun 2018 20:27:44 +0800	[thread overview]
Message-ID: <5B323140.1000306@intel.com> (raw)
In-Reply-To: <20180626064338-mutt-send-email-mst@kernel.org>

On 06/26/2018 11:56 AM, Michael S. Tsirkin wrote:
> On Tue, Jun 26, 2018 at 11:46:35AM +0800, Wei Wang wrote:
>

>>
>>>
>>>> +	if (!arrays)
>>>> +		return NULL;
>>>> +
>>>> +	for (i = 0; i < max_array_num; i++) {
>>> So we are getting a ton of memory here just to free it up a bit later.
>>> Why doesn't get_from_free_page_list get the pages from free list for us?
>>> We could also avoid the 1st allocation then - just build a list
>>> of these.
>> That wouldn't be a good choice for us. If we check how the regular
>> allocation works, there are many many things we need to consider when pages
>> are allocated to users.
>> For example, we need to take care of the nr_free
>> counter, we need to check the watermark and perform the related actions.
>> Also the folks working on arch_alloc_page to monitor page allocation
>> activities would get a surprise..if page allocation is allowed to work in
>> this way.
>>
> mm/ code is well positioned to handle all this correctly.

I'm afraid that would be a re-implementation of the alloc functions, and 
that would be much more complex than what we have. I think your idea of 
passing a list of pages is better.

Best,
Wei

WARNING: multiple messages have this Message-ID (diff)
From: Wei Wang <wei.w.wang@intel.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtio-dev@lists.oasis-open.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
	linux-mm@kvack.org, mhocko@kernel.org, akpm@linux-foundation.org,
	torvalds@linux-foundation.org, pbonzini@redhat.com,
	liliang.opensource@gmail.com, yang.zhang.wz@gmail.com,
	quan.xu0@gmail.com, nilal@redhat.com, riel@redhat.com,
	peterx@redhat.com
Subject: [virtio-dev] Re: [PATCH v34 2/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
Date: Tue, 26 Jun 2018 20:27:44 +0800	[thread overview]
Message-ID: <5B323140.1000306@intel.com> (raw)
In-Reply-To: <20180626064338-mutt-send-email-mst@kernel.org>

On 06/26/2018 11:56 AM, Michael S. Tsirkin wrote:
> On Tue, Jun 26, 2018 at 11:46:35AM +0800, Wei Wang wrote:
>

>>
>>>
>>>> +	if (!arrays)
>>>> +		return NULL;
>>>> +
>>>> +	for (i = 0; i < max_array_num; i++) {
>>> So we are getting a ton of memory here just to free it up a bit later.
>>> Why doesn't get_from_free_page_list get the pages from free list for us?
>>> We could also avoid the 1st allocation then - just build a list
>>> of these.
>> That wouldn't be a good choice for us. If we check how the regular
>> allocation works, there are many many things we need to consider when pages
>> are allocated to users.
>> For example, we need to take care of the nr_free
>> counter, we need to check the watermark and perform the related actions.
>> Also the folks working on arch_alloc_page to monitor page allocation
>> activities would get a surprise..if page allocation is allowed to work in
>> this way.
>>
> mm/ code is well positioned to handle all this correctly.

I'm afraid that would be a re-implementation of the alloc functions, and 
that would be much more complex than what we have. I think your idea of 
passing a list of pages is better.

Best,
Wei







---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2018-06-26 12:23 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-25 12:05 [PATCH v34 0/4] Virtio-balloon: support free page reporting Wei Wang
2018-06-25 12:05 ` [virtio-dev] " Wei Wang
2018-06-25 12:05 ` Wei Wang
2018-06-25 12:05 ` [PATCH v34 1/4] mm: support to get hints of free page blocks Wei Wang
2018-06-25 12:05   ` [virtio-dev] " Wei Wang
2018-06-25 12:05 ` Wei Wang
2018-06-25 12:05 ` [PATCH v34 2/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT Wei Wang
2018-06-25 12:05   ` [virtio-dev] " Wei Wang
2018-06-26  1:37   ` Michael S. Tsirkin
2018-06-26  1:37     ` [virtio-dev] " Michael S. Tsirkin
2018-06-26  1:37     ` Michael S. Tsirkin
2018-06-26  3:46     ` Wei Wang
2018-06-26  3:46       ` [virtio-dev] " Wei Wang
2018-06-26  3:46       ` Wei Wang
2018-06-26  3:56       ` Michael S. Tsirkin
2018-06-26  3:56         ` [virtio-dev] " Michael S. Tsirkin
2018-06-26  3:56         ` Michael S. Tsirkin
2018-06-26 12:27         ` Wei Wang [this message]
2018-06-26 12:27           ` [virtio-dev] " Wei Wang
2018-06-26 12:27           ` Wei Wang
2018-06-26 13:34           ` Michael S. Tsirkin
2018-06-26 13:34             ` [virtio-dev] " Michael S. Tsirkin
2018-06-27  1:24             ` Wei Wang
2018-06-27  1:24               ` [virtio-dev] " Wei Wang
2018-06-27  1:24               ` Wei Wang
2018-06-27  2:41               ` Michael S. Tsirkin
2018-06-27  2:41                 ` [virtio-dev] " Michael S. Tsirkin
2018-06-27  2:41                 ` Michael S. Tsirkin
2018-06-27  3:00                 ` Wei Wang
2018-06-27  3:00                   ` [virtio-dev] " Wei Wang
2018-06-27  3:00                   ` Wei Wang
2018-06-27  3:58                   ` Michael S. Tsirkin
2018-06-27  3:58                     ` [virtio-dev] " Michael S. Tsirkin
2018-06-27  5:27                     ` Wei Wang
2018-06-27  5:27                       ` [virtio-dev] " Wei Wang
2018-06-27  5:27                       ` Wei Wang
2018-06-27 16:53                       ` [virtio-dev] " Michael S. Tsirkin
2018-06-27 16:53                         ` Michael S. Tsirkin
2018-06-27 16:53                         ` Michael S. Tsirkin
2018-06-27  3:58                   ` Michael S. Tsirkin
2018-06-26 13:34           ` Michael S. Tsirkin
2018-06-25 12:05 ` Wei Wang
2018-06-25 12:05 ` [PATCH v34 3/4] mm/page_poison: expose page_poisoning_enabled to kernel modules Wei Wang
2018-06-25 12:05 ` Wei Wang
2018-06-25 12:05   ` [virtio-dev] " Wei Wang
2018-06-25 12:05 ` [PATCH v34 4/4] virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON Wei Wang
2018-06-25 12:05   ` [virtio-dev] " Wei Wang
2018-06-25 12:05 ` Wei Wang
2018-06-27 11:06 ` [PATCH v34 0/4] Virtio-balloon: support free page reporting David Hildenbrand
2018-06-27 11:06   ` [virtio-dev] " David Hildenbrand
2018-06-27 11:06   ` David Hildenbrand
2018-06-29  3:51   ` Wei Wang
2018-06-29  3:51     ` [virtio-dev] " Wei Wang
2018-06-29  3:51     ` Wei Wang
2018-06-29  7:46     ` David Hildenbrand
2018-06-29  7:46       ` [virtio-dev] " David Hildenbrand
2018-06-29  7:46       ` David Hildenbrand
2018-06-29 11:31       ` Wei Wang
2018-06-29 11:31         ` [virtio-dev] " Wei Wang
2018-06-29 11:31         ` Wei Wang
2018-06-29 11:53         ` David Hildenbrand
2018-06-29 11:53           ` [virtio-dev] " David Hildenbrand
2018-06-29 11:53           ` David Hildenbrand
2018-06-29 15:55           ` Wang, Wei W
2018-06-29 15:55             ` [virtio-dev] " Wang, Wei W
2018-06-29 15:55             ` Wang, Wei W
2018-06-29 15:55             ` Wang, Wei W
2018-06-29 16:03             ` David Hildenbrand
2018-06-29 16:03               ` [virtio-dev] " David Hildenbrand
2018-06-29 16:03               ` David Hildenbrand
2018-06-29 16:03               ` David Hildenbrand
2018-06-29 14:45   ` Michael S. Tsirkin
2018-06-29 14:45   ` Michael S. Tsirkin
2018-06-29 14:45     ` [virtio-dev] " Michael S. Tsirkin
2018-06-29 15:28     ` David Hildenbrand
2018-06-29 15:28       ` [virtio-dev] " David Hildenbrand
2018-06-29 15:28       ` David Hildenbrand
2018-06-29 15:52     ` Wang, Wei W
2018-06-29 15:52       ` [virtio-dev] " Wang, Wei W
2018-06-29 15:52       ` Wang, Wei W
2018-06-29 15:52       ` Wang, Wei W
2018-06-29 16:32       ` Michael S. Tsirkin
2018-06-29 16:32         ` [virtio-dev] " Michael S. Tsirkin
2018-06-29 16:32         ` Michael S. Tsirkin
2018-06-29 16:32         ` Michael S. Tsirkin
2018-06-30  4:31 ` Wei Wang
2018-06-30  4:31   ` [virtio-dev] " Wei Wang
2018-06-30  4:31   ` Wei Wang

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=5B323140.1000306@intel.com \
    --to=wei.w.wang@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=kvm@vger.kernel.org \
    --cc=liliang.opensource@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=mst@redhat.com \
    --cc=nilal@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=quan.xu0@gmail.com \
    --cc=riel@redhat.com \
    --cc=torvalds@linux-foundation.org \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=virtualization@lists.linux-foundation.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.