mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
btrfs: reorder members in btrfs_delayed_root for better packing
There are two unnecessary 4B holes in btrfs_delayed_root;
struct btrfs_delayed_root {
spinlock_t lock; /* 0 4 */
/* XXX 4 bytes hole, try to pack */
struct list_head node_list; /* 8 16 */
struct list_head prepare_list; /* 24 16 */
atomic_t items; /* 40 4 */
atomic_t items_seq; /* 44 4 */
int nodes; /* 48 4 */
/* XXX 4 bytes hole, try to pack */
wait_queue_head_t wait; /* 56 24 */
/* size: 80, cachelines: 2, members: 7 */
/* sum members: 72, holes: 2, sum holes: 8 */
/* last cacheline: 16 bytes */
};
Reordering 'nodes' after 'lock' reduces size by 8B, to 72 on release
config.
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
c8bafc8d6a
commit
86523d8d2f
|
|
@ -465,6 +465,7 @@ struct btrfs_commit_stats {
|
|||
|
||||
struct btrfs_delayed_root {
|
||||
spinlock_t lock;
|
||||
int nodes; /* for delayed nodes */
|
||||
struct list_head node_list;
|
||||
/*
|
||||
* Used for delayed nodes which is waiting to be dealt with by the
|
||||
|
|
@ -474,7 +475,6 @@ struct btrfs_delayed_root {
|
|||
struct list_head prepare_list;
|
||||
atomic_t items; /* for delayed items */
|
||||
atomic_t items_seq; /* for delayed items */
|
||||
int nodes; /* for delayed nodes */
|
||||
wait_queue_head_t wait;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user