kvm: x86: Adjust the location of pkru_mask of kvm_mmu to reduce memory
authorPeng Hao <flyingpeng@tencent.com>
Mon, 28 Feb 2022 03:07:49 +0000 (11:07 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 13 Apr 2022 17:37:18 +0000 (13:37 -0400)
Adjust the field pkru_mask to the back of direct_map to make up 8-byte
alignment.This reduces the size of kvm_mmu by 8 bytes.

Signed-off-by: Peng Hao <flyingpeng@tencent.com>
Message-Id: <20220228030749.88353-1-flyingpeng@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h

index f1dfa06..e9c9a23 100644 (file)
@@ -443,14 +443,6 @@ struct kvm_mmu {
        u8 shadow_root_level;
        u8 ept_ad;
        bool direct_map;
-       struct kvm_mmu_root_info prev_roots[KVM_MMU_NUM_PREV_ROOTS];
-
-       /*
-        * Bitmap; bit set = permission fault
-        * Byte index: page fault error code [4:1]
-        * Bit index: pte permissions in ACC_* format
-        */
-       u8 permissions[16];
 
        /*
        * The pkru_mask indicates if protection key checks are needed.  It
@@ -460,6 +452,15 @@ struct kvm_mmu {
        */
        u32 pkru_mask;
 
+       struct kvm_mmu_root_info prev_roots[KVM_MMU_NUM_PREV_ROOTS];
+
+       /*
+        * Bitmap; bit set = permission fault
+        * Byte index: page fault error code [4:1]
+        * Bit index: pte permissions in ACC_* format
+        */
+       u8 permissions[16];
+
        u64 *pae_root;
        u64 *pml4_root;
        u64 *pml5_root;