From: David Vrabel <david.vrabel@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] xen/balloon: Subtract from xen_released_pages the count that is populated.
Date: Tue, 29 May 2012 18:36:24 +0100 [thread overview]
Message-ID: <4FC50918.4000608@citrix.com> (raw)
In-Reply-To: <1338310689-5967-1-git-send-email-konrad.wilk@oracle.com>
On 29/05/12 17:58, Konrad Rzeszutek Wilk wrote:
> We did not take into account that xen_released_pages would be
> used outside the initial E820 parsing code. As such we would
> not subtract from xen_released_pages the count of pages
> that we had populated back. Instead we just did a simple
> extra_pages = released - populated calculation.
>
> However the balloon worker uses xen_released_pages to figure
> out how many more pages it can balloon up to and not having
> the proper numbers we would balloon more than we should have.
I would probably rephrase this paragraph to be a bit clearer but it's
not a big deal. Something like this perhaps:
"The balloon driver uses xen_released_pages to set the initial
current_pages count. If this is wrong (too low) then when a new
(higher) target is set, the balloon driver will request too many pages
from Xen."
> This fixes errors such as:
>
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (51 of 512)
> during bootup and
> free_memory : 0
>
> where the free_memory should be 128.
>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: David Vrabel <david.vrabel@citrix.com>
> ---
> arch/x86/xen/setup.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 3ebba07..a4790bf 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -371,7 +371,8 @@ char * __init xen_memory_setup(void)
> populated = xen_populate_chunk(map, memmap.nr_entries,
> max_pfn, &last_pfn, xen_released_pages);
>
> - extra_pages += (xen_released_pages - populated);
> + xen_released_pages -= populated;
> + extra_pages += xen_released_pages;
>
> if (last_pfn > max_pfn) {
> max_pfn = min(MAX_DOMAIN_PAGES, last_pfn);
prev parent reply other threads:[~2012-05-29 17:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-29 16:58 [PATCH] xen/balloon: Subtract from xen_released_pages the count that is populated Konrad Rzeszutek Wilk
2012-05-29 17:36 ` David Vrabel [this message]
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=4FC50918.4000608@citrix.com \
--to=david.vrabel@citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=xen-devel@lists.xensource.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.