kernel_optimize_test/fs/btrfs/tests
David Sterba 9ee49a047d btrfs: switch extent_state state to unsigned
Currently there's a 4B hole in the structure between refs and state and there
are only 16 bits used so we can make it unsigned. This will get a better
packing and may save some stack space for local variables.

The size of extent_state gets reduced by 8B and there are usually a lot
of slab objects.

struct extent_state {
	u64                        start;                /*     0     8 */
	u64                        end;                  /*     8     8 */
	struct rb_node             rb_node;              /*    16    24 */
	wait_queue_head_t          wq;                   /*    40    24 */
	/* --- cacheline 1 boundary (64 bytes) --- */
	atomic_t                   refs;                 /*    64     4 */

	/* XXX 4 bytes hole, try to pack */

	long unsigned int          state;                /*    72     8 */
	u64                        private;              /*    80     8 */

	/* size: 88, cachelines: 2, members: 7 */
	/* sum members: 84, holes: 1, sum holes: 4 */
	/* last cacheline: 24 bytes */
};

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:04 -08:00
..
btrfs-tests.c btrfs: prevent RCU warning when dereferencing radix tree slot 2014-06-13 09:52:22 -07:00
btrfs-tests.h Btrfs: add sanity tests for new qgroup accounting code 2014-06-09 17:20:49 -07:00
extent-buffer-tests.c btrfs: unify extent buffer allocation api 2014-12-12 18:26:55 +01:00
extent-io-tests.c btrfs: switch extent_state state to unsigned 2015-01-21 18:02:04 -08:00
free-space-tests.c Btrfs: remove empty block groups automatically 2014-09-22 17:13:21 -07:00
inode-tests.c btrfs: unify extent buffer allocation api 2014-12-12 18:26:55 +01:00
qgroup-tests.c btrfs: sink parameter len to alloc_extent_buffer 2014-12-12 18:26:57 +01:00