[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 03/27] xen/x86: mm: Don't check alloc_boot_pages return
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@xxxxxxx> Given that you adjust the commit message: Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Cheers, Andre. > Cc: Jan Beulich <jbeulich@xxxxxxxx> > Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > > 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@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |