Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rnbd-clt: adjust the layout of struct rnbd_clt_dev

While at it, let re-arrange the struct to remove holes.

Before, pahole reports

/* size: 232, cachelines: 4, members: 17 */
/* sum members: 224, holes: 2, sum holes: 8 */
/* last cacheline: 40 bytes */

After the change, the report changes to

/* size: 224, cachelines: 4, members: 17 */
/* last cacheline: 32 bytes */

Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Link: https://lore.kernel.org/r/20220706133152.12058-6-guoqing.jiang@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Guoqing Jiang and committed by
Jens Axboe
59f070de dfc270c9

+2 -2
+2 -2
drivers/block/rnbd/rnbd-clt.h
··· 106 106 }; 107 107 108 108 struct rnbd_clt_dev { 109 + struct kobject kobj; 109 110 struct rnbd_clt_session *sess; 110 111 struct request_queue *queue; 111 112 struct rnbd_queue *hw_queues; ··· 115 114 u32 clt_device_id; 116 115 struct mutex lock; 117 116 enum rnbd_clt_dev_state dev_state; 117 + refcount_t refcount; 118 118 char *pathname; 119 119 enum rnbd_access_mode access_mode; 120 120 u32 nr_poll_queues; 121 121 u64 size; /* device size in bytes */ 122 122 struct list_head list; 123 123 struct gendisk *gd; 124 - struct kobject kobj; 125 124 char *blk_symlink_name; 126 - refcount_t refcount; 127 125 struct work_struct unmap_on_rmmod_work; 128 126 }; 129 127