[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 0/4] Make PDX compression optional
- To: Jan Beulich <jbeulich@xxxxxxxx>, Alejandro Vallejo <alejandro.vallejo@xxxxxxxxx>
- From: Julien Grall <julien@xxxxxxx>
- Date: Wed, 16 Aug 2023 12:12:02 +0100
- Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Wed, 16 Aug 2023 11:12:21 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Hi Jan,
On 16/08/2023 10:43, Jan Beulich wrote:
On 16.08.2023 11:36, Alejandro Vallejo wrote:
On Tue, Aug 08, 2023 at 02:02:16PM +0100, Alejandro Vallejo wrote:
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
@Jan: Just making sure, are you generally ok with this series as-is?
Well, okay would be too strong; I still don't see why my runtime patching
series isn't re-considered.
Do you have a pointer to the series? I would be interested to have a look.
That said... the problem with alt-patching is this is architectural
specific. Right now, this seems to be a bit unnecessary given that we
believe that virtually no-one will have a platform (I know we talked
about a potential one...) where PDX is compressing.
Cheers,
--
Julien Grall
|