[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/arm: Add Kconfig parameter for memory banks number
> On 6 Dec 2021, at 17:05, Julien Grall <julien@xxxxxxx> wrote: > > Hi Luca, > > On 06/12/2021 15:37, Luca Fancellu wrote: >> Currently the maximum number of memory banks is fixed to >> 128, but on some new platforms that have a large amount >> of memory, this value is not enough > Hi Julien, > Can you provide some information on the setup? Is it using UEFI? Yes it is a platform with 32gb of ram, I’ve built Xen with ACPI support and it’s starting using UEFI+ACPI. > >> and prevents Xen >> from booting. > > AFAIK, the restriction should only prevent Xen to use all the memory. If > that's not the case, then this should be fixed. The code that it’s failing is this, inside efi_process_memory_map_bootinfo(…) in the arch/arm/efi/efi-boot.h: #ifdef CONFIG_ACPI else if ( desc_ptr->Type == EfiACPIReclaimMemory ) { if ( !meminfo_add_bank(&bootinfo.acpi, desc_ptr) ) { PrintStr(L"Error: All " __stringify(NR_MEM_BANKS) " acpi meminfo mem banks exhausted.\r\n"); return EFI_LOAD_ERROR; } } #endif > >> Create a Kconfig parameter to set the value, by default >> 128. > > I think Xen should be able to boot on any platform with the default > configuration. So the value should at least be bumped. > >> Signed-off-by: Luca Fancellu <luca.fancellu@xxxxxxx> >> --- >> xen/arch/arm/Kconfig | 8 ++++++++ >> xen/include/asm-arm/setup.h | 2 +- >> 2 files changed, 9 insertions(+), 1 deletion(-) >> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig >> index ecfa6822e4d3..805e3c417e89 100644 >> --- a/xen/arch/arm/Kconfig >> +++ b/xen/arch/arm/Kconfig >> @@ -25,6 +25,14 @@ menu "Architecture Features" >> source "arch/Kconfig" >> +config MEM_BANKS >> + int "Maximum number of memory banks." >> + default "128" >> + help >> + Controls the build-time size memory bank array. >> + It is the upper bound of the number of logical entities describing >> + the memory. > > NR_MEM_BANKS is going to be used by multiple internal structure in Xen (e.g. > static memory, reserved memory, normal memory). So how could an admin decide > the correct value? > > In particular for UEFI, we are at the mercy of the firmware that can expose > any kind of memory map (that's why we had to increase the original number of > banks). > > So maybe it is time for us to move out from a static array and re-think how > we discover the memory. > > That this is probably going to take some time to get it properly, so > I would be OK with bumping the value + a config gated UNSUPPORTED. I can do that. Cheers, Luca > >> + >> config ACPI >> bool "ACPI (Advanced Configuration and Power Interface) Support >> (UNSUPPORTED)" if UNSUPPORTED >> depends on ARM_64 >> diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h >> index 95da0b7ab9cd..785a8fe81450 100644 >> --- a/xen/include/asm-arm/setup.h >> +++ b/xen/include/asm-arm/setup.h >> @@ -6,7 +6,7 @@ >> #define MIN_FDT_ALIGN 8 >> #define MAX_FDT_SIZE SZ_2M >> -#define NR_MEM_BANKS 128 >> +#define NR_MEM_BANKS CONFIG_MEM_BANKS >> #define MAX_MODULES 32 /* Current maximum useful modules */ >> > > Cheers, > > -- > Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |