[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 17/19] xen/arm64: mm: Add memory to the boot allocator first
On Tue, 5 Apr 2022, Julien Grall wrote: > On 05/04/2022 22:50, Stefano Stabellini wrote: > > > +static void __init setup_mm(void) > > > +{ > > > + const struct meminfo *banks = &bootinfo.mem; > > > + paddr_t ram_start = ~0; > > > + paddr_t ram_end = 0; > > > + paddr_t ram_size = 0; > > > + unsigned int i; > > > + > > > + init_pdx(); > > > + > > > + /* > > > + * We need some memory to allocate the page-tables used for the > > > xenheap > > > + * mappings. But some regions may contain memory already allocated > > > + * for other uses (e.g. modules, reserved-memory...). > > > + * > > > + * For simplify add all the free regions in the boot allocator. > > > + */ > > > > We currently have: > > > > BUG_ON(nr_bootmem_regions == (PAGE_SIZE / sizeof(struct bootmem_region))); > > This has enough space for 256 distinct regions on arm64 (512 regions on > arm32). > > > > > Do you think we should check for the limit in populate_boot_allocator? > > This patch doesn't change the number of regions added to the boot allocator. > So if we need to check the limit then I would rather deal separately (see more > below). > > > Or there is no need because it is unrealistic to reach it? > I can't say never because history told us on some UEFI systems, there will be > a large number of regions exposed. I haven't heard anyone that would hit the > BUG_ON(). > > The problem is what do we do if we hit the limit? We could ignore all the > regions after. However, there are potentially a risk there would not be enough > memory to cover the boot memory allocation (regions may be really small). > > So if we ever hit the limit, then I think we should update the boot allocator. OK, thanks for the explanation. Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |