Commit 8ba816b2 authored by Yu Kuai's avatar Yu Kuai Committed by Jens Axboe
Browse files

null-blk: save memory footprint for struct nullb_cmd



Total 16 bytes can be saved in two ways:

1) The field 'bio' will only be used in bio based mode, and the field
   'rq' will only be used in mq mode. Since they won't be used in the
   same time, declare a union for them.
2) The field 'bool fake_timeout' can be placed in the hole after the
   field 'error'.

Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20220426022133.3999006-1-yukuai3@huawei.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 5ea7c133
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -16,13 +16,15 @@
#include <linux/mutex.h>

struct nullb_cmd {
	union {
		struct request *rq;
		struct bio *bio;
	};
	unsigned int tag;
	blk_status_t error;
	bool fake_timeout;
	struct nullb_queue *nq;
	struct hrtimer timer;
	bool fake_timeout;
};

struct nullb_queue {