]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commiteb6f65d8672663c93fe7878d79ffb7fa4b6f084f
tree21b3395270516a4978b10090fe8d9bd4bce8203b
parentf4499916c5b764fb42efe80fa76d643202b1df8a
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