btrfs: remove 64bit alignment padding to allow extent_buffer to fit into one fewer...
authorrichard kennedy <richard@rsk.demon.co.uk>
Tue, 7 Jun 2011 10:46:32 +0000 (10:46 +0000)
committerChris Mason <chris.mason@oracle.com>
Fri, 10 Jun 2011 22:57:10 +0000 (18:57 -0400)
commit9eb9104c665aae2401a1723c044669eb10240072
tree21b3395270516a4978b10090fe8d9bd4bce8203b
parent38e880540f983045da7a00fbc50daad238207fc5
btrfs: remove 64bit alignment padding to allow extent_buffer to fit into one fewer cacheline

Reorder extent_buffer to remove 8 bytes of alignment padding on 64 bit
builds. This shrinks its size to 128 bytes allowing it to fit into one
fewer cache lines and allows more objects per slab in its kmem_cache.

slabinfo extent_buffer reports :-

 before:-
    Sizes (bytes)     Slabs
    ----------------------------------
    Object :     136  Total  :     123
    SlabObj:     136  Full   :     121
    SlabSiz:    4096  Partial:       0
    Loss   :       0  CpuSlab:       2
    Align  :       8  Objects:      30

 after :-
    Object :     128  Total  :       4
    SlabObj:     128  Full   :       2
    SlabSiz:    4096  Partial:       0
    Loss   :       0  CpuSlab:       2
    Align  :       8  Objects:      32

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/extent_io.h