From: David Vrabel <david.vrabel@citrix.com>
To: Daniel Kiper <daniel.kiper@oracle.com>,
David Vrabel <david.vrabel@citrix.com>
Cc: <linux-mm@kvack.org>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
<linux-kernel@vger.kernel.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [Xen-devel] [PATCHv1 6/8] xen/balloon: only hotplug additional memory if required
Date: Fri, 26 Jun 2015 14:14:56 +0100 [thread overview]
Message-ID: <558D5050.10103@citrix.com> (raw)
In-Reply-To: <20150626124644.GS14050@olila.local.net-space.pl>
On 26/06/15 13:46, Daniel Kiper wrote:
> On Fri, Jun 26, 2015 at 09:56:31AM +0100, David Vrabel wrote:
>> On 25/06/15 22:18, Daniel Kiper wrote:
>>> On Thu, Jun 25, 2015 at 06:11:01PM +0100, David Vrabel wrote:
>>>> Now that we track the total number of pages (included hotplugged
>>>> regions), it is easy to determine if more memory needs to be
>>>> hotplugged.
>>>>
>>>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
>>>> ---
>>>> drivers/xen/balloon.c | 16 +++++++++++++---
>>>> 1 file changed, 13 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
>>>> index 960ac79..dd41da8 100644
>>>> --- a/drivers/xen/balloon.c
>>>> +++ b/drivers/xen/balloon.c
>>>> @@ -241,12 +241,22 @@ static void release_memory_resource(struct resource *resource)
>>>> * bit set). Real size of added memory is established at page onlining stage.
>>>> */
>>>>
>>>> -static enum bp_state reserve_additional_memory(long credit)
>>>> +static enum bp_state reserve_additional_memory(void)
>>>> {
>>>> + long credit;
>>>> struct resource *resource;
>>>> int nid, rc;
>>>> unsigned long balloon_hotplug;
>>>>
>>>> + credit = balloon_stats.target_pages - balloon_stats.total_pages;
>>>> +
>>>> + /*
>>>> + * Already hotplugged enough pages? Wait for them to be
>>>> + * onlined.
>>>> + */
>>>
>>> Comment is wrong or at least misleading. Both values does not depend on onlining.
>>
>> If we get here and credit <=0 then the balloon is empty and we have
>
> Right.
>
>> already hotplugged enough sections to reach target. We need to wait for
>
> OK.
>
>> userspace to online the sections that already exist.
>
> This is not true. You do not need to online sections to reserve new
> memory region. Onlining does not change balloon_stats.target_pages
> nor balloon_stats.total_pages. You must increase balloon_stats.target_pages
> above balloon_stats.total_pages to reserve new memory region. And
> balloon_stats.target_pages increase is not related to onlining.
We don't want to keep adding sections if onlining the existing ones
would be sufficient to reach the target.
David
next prev parent reply other threads:[~2015-06-26 13:15 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-25 17:10 [PATCHv1 0/8] mm,xen/balloon: memory hotplug improvements David Vrabel
2015-06-25 17:10 ` [PATCHv1 1/8] mm: memory hotplug with an existing resource David Vrabel
2015-06-25 18:01 ` Daniel Kiper
2015-06-25 17:10 ` [PATCHv1 2/8] xen/balloon: remove scratch page left overs David Vrabel
2015-06-25 18:01 ` Daniel Kiper
2015-06-25 17:10 ` [PATCHv1 3/8] x86/xen: discard RAM regions above the maximum reservation David Vrabel
2015-06-25 18:03 ` Daniel Kiper
2015-06-25 17:10 ` [PATCHv1 4/8] xen/balloon: find non-conflicting regions to place hotplugged memory David Vrabel
2015-06-25 18:16 ` Daniel Kiper
2015-06-25 17:11 ` [PATCHv1 5/8] xen/balloon: rationalize memory hotplug stats David Vrabel
2015-06-25 18:38 ` Daniel Kiper
2015-06-25 18:54 ` Daniel Kiper
2015-06-25 21:31 ` Daniel Kiper
2015-06-26 8:59 ` [Xen-devel] " David Vrabel
2015-06-25 17:11 ` [PATCHv1 6/8] xen/balloon: only hotplug additional memory if required David Vrabel
2015-06-25 21:18 ` Daniel Kiper
2015-06-26 8:56 ` [Xen-devel] " David Vrabel
2015-06-26 12:46 ` Daniel Kiper
2015-06-26 13:14 ` David Vrabel [this message]
2015-06-25 17:11 ` [PATCHv1 7/8] xen/balloon: make alloc_xenballoon_pages() always allocate low pages David Vrabel
2015-06-25 21:36 ` Daniel Kiper
2015-06-25 17:11 ` [PATCHv1 8/8] xen/balloon: use hotplugged pages for foreign mappings etc David Vrabel
2015-06-25 21:49 ` Daniel Kiper
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=558D5050.10103@citrix.com \
--to=david.vrabel@citrix.com \
--cc=boris.ostrovsky@oracle.com \
--cc=daniel.kiper@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=xen-devel@lists.xenproject.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