aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/security.c
diff options
context:
space:
mode:
authorVincent Donnefort <[email protected]>2025-05-21 12:48:34 +0000
committerMarc Zyngier <[email protected]>2025-05-21 13:33:51 +0000
commitc353fde17d8f7e710884532da50393cd22ddbfbe (patch)
tree62d854146534e1251bed5011d0aa15d42263eb0a /rust/helpers/security.c
parentKVM: arm64: Stage-2 huge mappings for np-guests (diff)
downloadkernel-c353fde17d8f7e710884532da50393cd22ddbfbe.tar.gz
kernel-c353fde17d8f7e710884532da50393cd22ddbfbe.zip
KVM: arm64: np-guest CMOs with PMD_SIZE fixmap
With the introduction of stage-2 huge mappings in the pKVM hypervisor, guest pages CMO is needed for PMD_SIZE size. Fixmap only supports PAGE_SIZE and iterating over the huge-page is time consuming (mostly due to TLBI on hyp_fixmap_unmap) which is a problem for EL2 latency. Introduce a shared PMD_SIZE fixmap (hyp_fixblock_map/hyp_fixblock_unmap) to improve guest page CMOs when stage-2 huge mappings are installed. On a Pixel6, the iterative solution resulted in a latency of ~700us, while the PMD_SIZE fixmap reduces it to ~100us. Because of the horrendous private range allocation that would be necessary, this is disabled for 64KiB pages systems. Suggested-by: Quentin Perret <[email protected]> Signed-off-by: Vincent Donnefort <[email protected]> Signed-off-by: Quentin Perret <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
Diffstat (limited to 'rust/helpers/security.c')
0 files changed, 0 insertions, 0 deletions