> Currently each allocation creates a new mapping. Readding the mapping > as free memory (EFI_CONVENTIONAL_MEMORY) potentially allows to hand out > an existing mapping, thus limiting the number of mapping descriptors in > the memory map. > > Mitigates a problem with current (4.8rc7) linux kernels when doing an > efi_get_memory map, resulting in an infinite loop. Space for the memory > map is reserved with allocate_pool (implicitly creating a new mapping) and > filled. If there is insufficient slack space (8 entries) in the map, the > space is freed and a new round is started, with space for one more entry. > As each round increases requirement and allocation by exactly one, there > is never enough slack space. (At least 32 entries are allocated, so as > long as there are less than 24 entries, there is enough slack). > Earlier kernels reserved no slack, and did less allocations, so this > problem was not visible. > > Signed-off-by: Stefan Brüns <stefan.bru...@rwth-aachen.de> > Reviewed-by: Alexander Graf <ag...@suse.de>
Thanks, applied to _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot