Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0864fe09 authored by Jens Axboe's avatar Jens Axboe
Browse files

null_blk: unalign call_single_data



Commit 966a9671 randomly added alignment to this structure, but
it's actually detrimental to performance of null_blk. Test case:

Running on both the home and remote node shows a ~5% degradation
in performance.

While in there, move blk_status_t to the hole after the integer tag
in the nullb_cmd structure. After this patch, we shrink the size
from 192 to 152 bytes.

Fixes: 966a9671 ("smp: Avoid using two cache lines for struct call_single_data")
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 4ccafe03
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -35,13 +35,13 @@ static inline u64 mb_per_tick(int mbps)
struct nullb_cmd {
	struct list_head list;
	struct llist_node ll_list;
	call_single_data_t csd;
	struct __call_single_data csd;
	struct request *rq;
	struct bio *bio;
	unsigned int tag;
	blk_status_t error;
	struct nullb_queue *nq;
	struct hrtimer timer;
	blk_status_t error;
};

struct nullb_queue {