[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH for-4.22 v3 0/2] xen/arm: validate hwdom first bank boot placement



From: Mykola Kvach <mykola_kvach@xxxxxxxx>

With LLC coloring enabled, the hardware domain memory is allocated by
allocate_hwdom_memory() instead of relying on the fixed direct-map
layout. Since de99f3263555 ("device-tree: Improve hwdom memory
allocation for DMA"), the allocator prefers lower host regions, but the
first-bank filter still only enforces the old 128MB heuristic.

A low candidate bank can satisfy that heuristic while still being
unsuitable for the Arm kernel/DTB/initrd placement rules. Split the Arm
placement logic into reusable helpers first, then validate the candidate
hardware-domain bank 0 against those helpers before allocating it.

Link to CI tests:
  https://gitlab.com/xen-project/people/mykola_kvach/xen/-/pipelines/2583876433

Changes in v3:
- Add Oleksii's Release-Acked-by tag.
- Patch 1: update the reverse xg_dom_arm.c placement comment and mention
  the MB(2) mechanical cleanup in the commit message.
- Patch 2: rename the arch hook to
  arch_hwdom_first_bank_can_fit_modules(), document its contract, and
  drop the redundant placement checks noted during review.
- Fix the duplicated "device-tree:" subject prefix in patch 2.

Changes in v2:
- Split the previous single patch into a behavior-preserving Arm
  placement refactoring and a separate hardware-domain first-bank fix.
- Rename find_module_placement() and place_modules() to use DTB/initrd
  terminology.
- Pass ramend to find_dtb_initrd_placement().
- Update the stale tools/libs/guest/xg_dom_arm.c reference.

Link to v1:
  
https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@xxxxxxxx/

Mykola Kvach (2):
  xen/arm: split DTB/initrd placement helpers
  device-tree: validate hwdom bank 0 boot placement

 tools/libs/guest/xg_dom_arm.c           |   2 +-
 xen/arch/arm/acpi/domain_build.c        |   2 -
 xen/arch/arm/domain_build.c             |   8 +
 xen/arch/arm/include/asm/domain_build.h |   4 +
 xen/arch/arm/include/asm/kernel.h       |  10 ++
 xen/arch/arm/kernel.c                   | 186 ++++++++++++++++++------
 xen/common/device-tree/domain-build.c   |  31 ++--
 xen/include/xen/fdt-kernel.h            |  14 ++
 8 files changed, 196 insertions(+), 61 deletions(-)

-- 
2.43.0




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.