[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 0/8] pdx: introduce a new compression algorithm
Hi Roger, We have an ARM board with the following memory layout: 0x0-0x80000000, 0, 2G 0x800000000,0x880000000, 32GB, 2G 0x50000000000-0x50080000000 5T, 2GB 0x60000000000-0x60080000000 6T, 2GB 0x70000000000-0x70080000000 7T, 2GB It looks like your PDX series is exactly what we need. However, I tried to use it and it doesn't seem to be hooked properly on ARM yet. I spent some time trying to fix it but I was unsuccessful. As far as I can tell the following functions need to be adjusted but I am not sure the list is comprehensive: xen/arch/arm/include/asm/mmu/mm.h:maddr_to_virt xen/arch/arm/mmu/mm.c:setup_frametable_mappings xen/arch/arm/setup.c:init_pdx Cheers, Stefano On Fri, 20 Jun 2025, Roger Pau Monne wrote: > Hello, > > This series implements a new PDX compression algorithm to cope with the > spare memory maps found on the Intel Sapphire/Granite Rapids. > > Patches 1 to 7 prepare the existing code to make it easier to introduce > a new PDX compression, including generalizing the initialization and > setup functions and adding a unit test for PDX compression. > > Patch 8 introduce the new compression. The new compression is only > enabled by default on x86, other architectures are left with their > previous defaults. > > Thanks, Roger. > > Roger Pau Monne (8): > x86/pdx: simplify calculation of domain struct allocation boundary > kconfig: turn PDX compression into a choice > pdx: provide a unified set of unit functions > pdx: introduce command line compression toggle > pdx: allow per-arch optimization of PDX conversion helpers > test/pdx: add PDX compression unit tests > pdx: move some helpers in preparation for new compression > pdx: introduce a new compression algorithm based on region offsets > > CHANGELOG.md | 3 + > docs/misc/xen-command-line.pandoc | 9 + > tools/tests/Makefile | 1 + > tools/tests/pdx/.gitignore | 3 + > tools/tests/pdx/Makefile | 49 ++++ > tools/tests/pdx/harness.h | 99 +++++++ > tools/tests/pdx/test-pdx.c | 224 +++++++++++++++ > xen/arch/arm/include/asm/Makefile | 1 + > xen/arch/arm/setup.c | 34 +-- > xen/arch/ppc/include/asm/Makefile | 1 + > xen/arch/riscv/include/asm/Makefile | 1 + > xen/arch/x86/domain.c | 40 +-- > xen/arch/x86/include/asm/cpufeatures.h | 1 + > xen/arch/x86/include/asm/pdx.h | 75 +++++ > xen/arch/x86/srat.c | 30 +- > xen/common/Kconfig | 37 ++- > xen/common/pdx.c | 379 ++++++++++++++++++++++--- > xen/include/asm-generic/pdx.h | 24 ++ > xen/include/xen/pdx.h | 201 +++++++++---- > 19 files changed, 1056 insertions(+), 156 deletions(-) > create mode 100644 tools/tests/pdx/.gitignore > create mode 100644 tools/tests/pdx/Makefile > create mode 100644 tools/tests/pdx/harness.h > create mode 100644 tools/tests/pdx/test-pdx.c > create mode 100644 xen/arch/x86/include/asm/pdx.h > create mode 100644 xen/include/asm-generic/pdx.h > > -- > 2.49.0 >
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |