All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] pdx: introduce a new compression algorithm
@ 2025-07-24 11:04 Roger Pau Monne
  2025-07-24 11:04 ` [PATCH v3 1/8] kconfig: turn PDX compression into a choice Roger Pau Monne
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: Roger Pau Monne @ 2025-07-24 11:04 UTC (permalink / raw)
  To: xen-devel
  Cc: Roger Pau Monne, Stefano Stabellini, Julien Grall,
	Bertrand Marquis, Michal Orzel, Volodymyr Babchuk, Andrew Cooper,
	Anthony PERARD, Jan Beulich, Shawn Anastasio, Alistair Francis,
	Bob Eshleman, Connor Davis, Oleksii Kurochko, Community Manager

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 6 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 7 introduce the new compression.  The new compression is only
enabled by default on x86, other architectures are left with their
previous defaults.

Finally patch 8 optimizes one x86 loop that was iterating over pfn
ranges to instead use pdx values.

Thanks, Roger.

Roger Pau Monne (8):
  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
  x86/mm: adjust loop in arch_init_memory() to iterate over the PDX
    space

 CHANGELOG.md                           |   3 +
 docs/misc/xen-command-line.pandoc      |   9 +
 tools/tests/Makefile                   |   1 +
 tools/tests/pdx/.gitignore             |   3 +
 tools/tests/pdx/Makefile               |  50 +++
 tools/tests/pdx/harness.h              | 103 ++++++
 tools/tests/pdx/test-pdx.c             | 271 ++++++++++++++++
 xen/arch/arm/include/asm/Makefile      |   1 +
 xen/arch/arm/setup.c                   |  36 +--
 xen/arch/ppc/include/asm/Makefile      |   1 +
 xen/arch/riscv/include/asm/Makefile    |   1 +
 xen/arch/x86/include/asm/cpufeatures.h |   1 +
 xen/arch/x86/include/asm/pdx.h         |  75 +++++
 xen/arch/x86/mm.c                      |  11 +-
 xen/arch/x86/srat.c                    |  30 +-
 xen/common/Kconfig                     |  37 ++-
 xen/common/pdx.c                       | 429 +++++++++++++++++++++++--
 xen/include/asm-generic/pdx.h          |  24 ++
 xen/include/xen/pdx.h                  | 202 ++++++++----
 19 files changed, 1157 insertions(+), 131 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



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2025-08-04 13:41 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-24 11:04 [PATCH v3 0/8] pdx: introduce a new compression algorithm Roger Pau Monne
2025-07-24 11:04 ` [PATCH v3 1/8] kconfig: turn PDX compression into a choice Roger Pau Monne
2025-07-24 11:04 ` [PATCH v3 2/8] pdx: provide a unified set of unit functions Roger Pau Monne
2025-07-29 13:06   ` Jan Beulich
2025-07-24 11:04 ` [PATCH v3 3/8] pdx: introduce command line compression toggle Roger Pau Monne
2025-07-24 11:04 ` [PATCH v3 4/8] pdx: allow per-arch optimization of PDX conversion helpers Roger Pau Monne
2025-07-29 13:20   ` Jan Beulich
2025-07-29 14:54   ` Andrew Cooper
2025-08-04 10:29     ` Roger Pau Monné
2025-07-24 11:04 ` [PATCH v3 5/8] test/pdx: add PDX compression unit tests Roger Pau Monne
2025-07-24 11:04 ` [PATCH v3 6/8] pdx: move some helpers in preparation for new compression Roger Pau Monne
2025-07-24 11:04 ` [PATCH v3 7/8] pdx: introduce a new compression algorithm based on region offsets Roger Pau Monne
2025-07-29 14:16   ` Jan Beulich
2025-08-04 13:08     ` Roger Pau Monné
2025-08-04 13:40       ` Jan Beulich
2025-07-24 11:04 ` [PATCH v3 8/8] x86/mm: adjust loop in arch_init_memory() to iterate over the PDX space Roger Pau Monne
2025-07-29 14:33   ` Jan Beulich
2025-07-29 16:54     ` Roger Pau Monné
2025-07-30  5:31       ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.