|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/arm: skip holes in physical address space when setting up frametable
On 21/04/2026 15:30, Oleksii Kurochko wrote: > Hello Michał, > > On 4/17/26 11:11 AM, Michal Orzel wrote: >> Refactor setup_frametable_mappings() into init_frametable(), modeled >> after x86's implementation. Instead of mapping one contiguous frametable >> covering ram_start to ram_end (including holes), iterate the >> pdx_group_valid bitmap to allocate and map frametable memory only for >> valid PDX groups, skipping gaps in the physical address space. At the >> moment we don't really take into account pdx_group_valid bitmap. >> >> This reduces memory consumption on systems with sparse RAM layouts by >> not allocating frametable entries for non-existent memory regions. >> >> A file-local pdx_to_page() override is needed because the generic macro >> in xen/include/xen/pdx.h does not account for ARM's non-zero >> frametable_base_pdx. >> >> Update the MPU implementation to match the new init_frametable() >> signature. Since MPU has no virtual address translation (ma == va), >> hole-skipping is not possible and the frametable remains a single >> contiguous allocation. >> >> Signed-off-by: Michal Orzel<michal.orzel@xxxxxxx> >> --- >> We've been using this approach at AMD for a while now. Without this we would >> not >> be able to boot some of our boards that have huge holes in the PA space, so I >> consider this patch a great improvement. >> >> Two things to consider as a follow-up in the future: >> - change generic pdx_to_page, page_to_pdx to take into account offset that >> on x86 is zero but on other arches it is not. The page list code is >> for now unaffected because the offset cancels out, >> - use the same on RISCV. > > Do you have such plans to do that for RISC-V? My plan for this release cycle is to do this for Arm as we can observe great improvement in space management. Other things that I mentioned I planned for the future. I don't want to add new things on our plate in this release. ~Michal
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |