From: Andre Przywara <andre.przywara@arm.com>
To: Julien Grall <julien.grall@arm.com>, xen-devel@lists.xen.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
sstabellini@kernel.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH 03/27] xen/x86: mm: Don't check alloc_boot_pages return
Date: Tue, 22 Aug 2017 12:28:00 +0100 [thread overview]
Message-ID: <9f0a4514-b8a4-a896-e237-dcd00bfd86ec@arm.com> (raw)
In-Reply-To: <20170814142418.13267-4-julien.grall@arm.com>
Hi,
On 14/08/17 15:23, Julien Grall wrote:
> The only way alloc_boot_pages will return 0 is during the error case.
This statement is not true. If alloc_boot_pages() returns, it has
succeeded. Returning 0 is nothing special.
> Although, Xen will panic in the error path. So the check in the caller
> is pointless.
>
> Looking at the loop, my understanding is it will try to allocate in
> smaller chunk if a bigger chunk fail. Given that alloc_boot_pages can
> never check, the loop seems unecessary.
Agreed, the algorithm doesn't work with (current) implementation of
alloc_boot_pages(), so the patch is valid.
> Signed-off-by: Julien Grall <julien.grall@arm.com>
Given that you adjust the commit message:
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cheers,
Andre.
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
>
> I haven't tested this code, only build test it. I can't see how
> alloc_boot_pages would return 0 other than the error path.
> ---
> xen/arch/x86/mm.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index f53ca43554..66e337109d 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -200,11 +200,7 @@ static void __init init_frametable_chunk(void *start, void *end)
> */
> while ( step && s + (step << PAGE_SHIFT) > e + (4 << PAGE_SHIFT) )
> step >>= PAGETABLE_ORDER;
> - do {
> - mfn = alloc_boot_pages(step, step);
> - } while ( !mfn && (step >>= PAGETABLE_ORDER) );
> - if ( !mfn )
> - panic("Not enough memory for frame table");
> + mfn = alloc_boot_pages(step, step);
> map_pages_to_xen(s, mfn, step, PAGE_HYPERVISOR);
> }
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2017-08-22 11:28 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-14 14:23 [PATCH 00/27] xen/arm: Memory subsystem clean-up Julien Grall
2017-08-14 14:23 ` [PATCH 01/27] xen/x86: numa: Don't check alloc_boot_pages return Julien Grall
2017-08-22 11:22 ` Andre Przywara
2017-08-14 14:23 ` [PATCH 02/27] xen/x86: srat: " Julien Grall
2017-08-22 11:23 ` Andre Przywara
2017-08-14 14:23 ` [PATCH 03/27] xen/x86: mm: " Julien Grall
2017-08-15 15:55 ` Jan Beulich
2017-08-22 11:28 ` Andre Przywara [this message]
2017-08-22 17:28 ` Julien Grall
2017-08-14 14:23 ` [PATCH 04/27] xen/mm: Move {G, M]FN <-> {G, M}ADDR helpers to common code Julien Grall
2017-08-22 8:23 ` Jan Beulich
2017-08-22 17:37 ` Julien Grall
2017-08-14 14:23 ` [PATCH 05/27] xen/mm: Use typesafe MFN for alloc_boot_pages return Julien Grall
2017-08-22 8:28 ` Jan Beulich
2017-08-14 14:23 ` [PATCH 06/27] xen/mm: Use __virt_to_mfn in map_domain_page instead of virt_to_mfn Julien Grall
2017-08-22 8:29 ` Jan Beulich
2017-08-14 14:23 ` [PATCH 07/27] xen/arm: mm: Redefine mfn_to_virt to use typesafe Julien Grall
2017-08-14 14:23 ` [PATCH 08/27] xen/arm: hsr_iabt: Document RES0 field Julien Grall
2017-08-22 14:21 ` Andre Przywara
2017-08-22 14:23 ` Julien Grall
2017-08-14 14:24 ` [PATCH 09/27] xen/arm: traps: Don't define FAR_EL2 for ARM32 Julien Grall
2017-08-22 14:12 ` Andre Przywara
2017-08-23 19:05 ` Julien Grall
2017-08-14 14:24 ` [PATCH 10/27] xen/arm: arm32: Don't define FAR_EL1 Julien Grall
2017-08-22 14:37 ` Andre Przywara
2017-08-23 19:06 ` Julien Grall
2017-08-14 14:24 ` [PATCH 11/27] xen/arm: Add FnV field in hsr_*abt Julien Grall
2017-08-22 16:07 ` Andre Przywara
2017-08-23 19:17 ` Julien Grall
2017-08-14 14:24 ` [PATCH 12/27] xen/arm: Introduce hsr_xabt to gather common bits between hsr_dabt and Julien Grall
2017-08-22 16:19 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 13/27] xen/arm: traps: Introduce a helper to read the hypersivor fault register Julien Grall
2017-08-22 17:19 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 14/27] xen/arm: traps: Improve logging for data/prefetch abort fault Julien Grall
2017-08-22 17:20 ` Andre Przywara
2017-08-23 19:18 ` Julien Grall
2017-08-14 14:24 ` [PATCH 15/27] xen/arm: Replace ioremap_attr(PAGE_HYPERVISOR_NOCACHE) call by ioremap_nocache Julien Grall
2017-08-22 17:20 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 16/27] xen/arm: page: Remove unused attributes DEV_NONSHARED and DEV_CACHED Julien Grall
2017-08-23 11:41 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 17/27] xen/arm: page: Use directly BUFFERABLE and drop DEV_WC Julien Grall
2017-08-22 17:21 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 18/27] xen/arm: page: Prefix memory types with MT_ Julien Grall
2017-08-23 11:41 ` Andre Przywara
2017-08-23 18:51 ` Julien Grall
2017-08-14 14:24 ` [PATCH 19/27] xen/arm: page: Clean-up the definition of MAIRVAL Julien Grall
2017-08-23 11:42 ` Andre Przywara
2017-08-23 18:53 ` Julien Grall
2017-08-14 14:24 ` [PATCH 20/27] xen/arm: page: Use ARMv8 naming to improve readability Julien Grall
2017-08-23 11:42 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 21/27] xen/arm: mm: Rename and clarify AP[1] in the stage-1 page table Julien Grall
2017-08-23 14:07 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 22/27] xen/arm: Switch to SYS_STATE_boot just after end_boot_allocator() Julien Grall
2017-08-22 17:21 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 23/27] xen/arm: mm: Rename 'ai' into 'flags' in create_xen_entries Julien Grall
2017-08-23 14:07 ` Andre Przywara
2017-08-14 14:24 ` [PATCH 24/27] xen/arm: page: Describe the layout of flags used to update page tables Julien Grall
2017-08-23 14:08 ` Andre Przywara
2017-08-23 14:31 ` Julien Grall
2017-08-14 14:24 ` [PATCH 25/27] xen/arm: mm: Embed permission in the flags Julien Grall
2017-08-23 14:08 ` Andre Przywara
2017-08-23 14:26 ` Julien Grall
2017-08-23 14:37 ` Andre Przywara
2017-08-23 19:03 ` Julien Grall
2017-08-14 14:24 ` [PATCH 26/27] xen/arm: mm: Handling permission flags when adding a new mapping Julien Grall
2017-08-23 14:09 ` Andre Przywara
2017-08-23 14:36 ` Julien Grall
2017-08-14 14:24 ` [PATCH 27/27] xen/arm: mm: Use memory flags for modify_xen_mappings rather than custom one Julien Grall
2017-08-23 14:10 ` Andre Przywara
2017-08-23 14:30 ` Julien Grall
2017-08-23 14:46 ` [PATCH 00/27] xen/arm: Memory subsystem clean-up Andre Przywara
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=9f0a4514-b8a4-a896-e237-dcd00bfd86ec@arm.com \
--to=andre.przywara@arm.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=julien.grall@arm.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xen.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;
as well as URLs for NNTP newsgroup(s).