Message ID | f9423a6ee10d91bd6bad32beefd1b96cad4d28f1.1676620879.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: Reorder fields in 'struct kvm_mmu_memory_cache' | expand |
On Fri, Feb 17, 2023, Christophe JAILLET wrote: > Group some variables based on their sizes to reduce hole and avoid padding. > On x86_64, this shrinks the size from 40 to 32 bytes. Heh, a hair too late[*]. Unless I'm mistaken, Mathias will be sending a new version in the not-too-distant future. Thanks! [*] https://lore.kernel.org/all/Y+puefrgtqf430fs@google.com
Le 17/02/2023 à 17:41, Sean Christopherson a écrit : > On Fri, Feb 17, 2023, Christophe JAILLET wrote: >> Group some variables based on their sizes to reduce hole and avoid padding. >> On x86_64, this shrinks the size from 40 to 32 bytes. > > Heh, a hair too late[*]. Unless I'm mistaken, Mathias will be sending a new > version in the not-too-distant future. > > Thanks! > > [*] https://lore.kernel.org/all/Y+puefrgtqf430fs@google.com > Ok, great :) Thanks for the feed-back. CJ
On 17.02.23 17:41, Sean Christopherson wrote: > On Fri, Feb 17, 2023, Christophe JAILLET wrote: >> Group some variables based on their sizes to reduce hole and avoid padding. >> On x86_64, this shrinks the size from 40 to 32 bytes. > > Heh, a hair too late[*]. Unless I'm mistaken, Mathias will be sending a new > version in the not-too-distant future. Jepp, patches should appear here anytime soon: https://lore.kernel.org/kvm/20230217193336.15278-1-minipli@grsecurity.net > > Thanks! > > [*] https://lore.kernel.org/all/Y+puefrgtqf430fs@google.com
diff --git a/include/linux/kvm_types.h b/include/linux/kvm_types.h index 2728d49bbdf6..76af8425dbc6 100644 --- a/include/linux/kvm_types.h +++ b/include/linux/kvm_types.h @@ -94,8 +94,8 @@ struct kvm_mmu_memory_cache { int nobjs; gfp_t gfp_zero; gfp_t gfp_custom; - struct kmem_cache *kmem_cache; int capacity; + struct kmem_cache *kmem_cache; void **objects; }; #endif
Group some variables based on their sizes to reduce hole and avoid padding. On x86_64, this shrinks the size from 40 to 32 bytes. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- Using pahole Before: ====== struct kvm_mmu_memory_cache { int nobjs; /* 0 4 */ gfp_t gfp_zero; /* 4 4 */ gfp_t gfp_custom; /* 8 4 */ /* XXX 4 bytes hole, try to pack */ struct kmem_cache * kmem_cache; /* 16 8 */ int capacity; /* 24 4 */ /* XXX 4 bytes hole, try to pack */ void * * objects; /* 32 8 */ /* size: 40, cachelines: 1, members: 6 */ /* sum members: 32, holes: 2, sum holes: 8 */ /* last cacheline: 40 bytes */ }; --- include/linux/kvm_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)