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 <[email protected]>
---
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(-)
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
--
2.34.1
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/[email protected]
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/[email protected]
>
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/[email protected]
>
> Thanks!
>
> [*] https://lore.kernel.org/all/[email protected]