All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4]  Make PDX compression optional
@ 2023-08-08 13:02 Alejandro Vallejo
  2023-08-08 13:02 ` [PATCH v3 1/4] mm: Factor out the pdx compression logic in ma/va converters Alejandro Vallejo
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Alejandro Vallejo @ 2023-08-08 13:02 UTC (permalink / raw)
  To: Xen-devel
  Cc: Alejandro Vallejo, Stefano Stabellini, Julien Grall,
	Bertrand Marquis, Volodymyr Babchuk, Andrew Cooper, George Dunlap,
	Jan Beulich, Wei Liu, Roger Pau Monné

Currently there's a CONFIG_HAS_PDX Kconfig option, but it's impossible to
disable it because the whole codebase performs unconditional
compression/decompression operations on addresses. This has the
unfortunate side effect that systems without a need for compression still
have to pay the performance impact of juggling bits on every pfn<->pdx
conversion (this requires reading several global variables). This series
attempts to:

  * Leave the state of pdx and pdx compression documented
  * Factor out compression so it _can_ be removed through Kconfig
  * Make it so compression is disabled on x86 and enabled on both Aarch32
    and Aarch64 by default.

Series summary:

Patch 1 Moves hard-coded compression-related logic to helper functions
Patch 2 Refactors all instances of regions being validated for pdx
        compression conformance so it's done through a helper
Patch 3 Non-functional reorder in order to simplify the patch 8 diff
Patch 4 Adds new Kconfig option to compile out PDX compression and removes
        the old CONFIG_HAS_PDX, as it was non removable

Already committed:

v1/patch 1 documents the current general understanding of the pdx concept and
           pdx compression in particular
v1/patch 3 Marks the pdx compression globals as ro_after_init
v2/patch 1 Documents the differences between arm32 and arm64 directmaps

Alejandro Vallejo (4):
  mm: Factor out the pdx compression logic in ma/va converters
  mm/pdx: Standardize region validation wrt pdx compression
  pdx: Reorder pdx.[ch]
  pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option

 xen/arch/arm/Kconfig                   |   1 -
 xen/arch/arm/include/asm/mm.h          |   3 +-
 xen/arch/x86/Kconfig                   |   1 -
 xen/arch/x86/domain.c                  |  19 ++--
 xen/arch/x86/include/asm/x86_64/page.h |  28 +++---
 xen/arch/x86/x86_64/mm.c               |   6 +-
 xen/common/Kconfig                     |  13 ++-
 xen/common/Makefile                    |   2 +-
 xen/common/efi/boot.c                  |  13 ++-
 xen/common/pdx.c                       |  76 +++++++++------
 xen/include/xen/pdx.h                  | 127 +++++++++++++++++++------
 11 files changed, 193 insertions(+), 96 deletions(-)

-- 
2.34.1



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

end of thread, other threads:[~2023-10-06 13:20 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-08 13:02 [PATCH v3 0/4] Make PDX compression optional Alejandro Vallejo
2023-08-08 13:02 ` [PATCH v3 1/4] mm: Factor out the pdx compression logic in ma/va converters Alejandro Vallejo
2023-08-08 13:02 ` [PATCH v3 2/4] mm/pdx: Standardize region validation wrt pdx compression Alejandro Vallejo
2023-08-08 13:02 ` [PATCH v3 3/4] pdx: Reorder pdx.[ch] Alejandro Vallejo
2023-08-08 13:02 ` [PATCH v3 4/4] pdx: Add CONFIG_PDX_COMPRESSION as a common Kconfig option Alejandro Vallejo
2023-09-22 20:03   ` Andrew Cooper
2023-09-25  6:36     ` Jan Beulich
2023-09-25  9:46       ` Roger Pau Monné
2023-09-25  9:59         ` Jan Beulich
2023-09-25 10:01         ` Andrew Cooper
2023-09-25 10:15           ` Jan Beulich
2023-09-25 17:37     ` Shawn Anastasio
2023-10-06 13:20       ` Andrew Cooper
2023-08-16  9:36 ` [PATCH v3 0/4] Make PDX compression optional Alejandro Vallejo
2023-08-16  9:43   ` Jan Beulich
2023-08-16 11:12     ` Julien Grall
2023-08-16 11:27       ` Jan Beulich
2023-08-16 13:06         ` Julien Grall
2023-08-16 13:14           ` Jan Beulich
2023-08-16 13:38             ` Julien Grall

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.