rnbd-clt: adjust the layout of struct rnbd_clt_dev
authorGuoqing Jiang <guoqing.jiang@linux.dev>
Wed, 6 Jul 2022 13:31:49 +0000 (21:31 +0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 2 Aug 2022 23:14:45 +0000 (17:14 -0600)
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>
drivers/block/rnbd/rnbd-clt.h

index 7520272..df237d2 100644 (file)
@@ -106,6 +106,7 @@ struct rnbd_queue {
 };
 
 struct rnbd_clt_dev {
+       struct kobject          kobj;
        struct rnbd_clt_session *sess;
        struct request_queue    *queue;
        struct rnbd_queue       *hw_queues;
@@ -114,15 +115,14 @@ struct rnbd_clt_dev {
        u32                     clt_device_id;
        struct mutex            lock;
        enum rnbd_clt_dev_state dev_state;
+       refcount_t              refcount;
        char                    *pathname;
        enum rnbd_access_mode   access_mode;
        u32                     nr_poll_queues;
        u64                     size;           /* device size in bytes */
        struct list_head        list;
        struct gendisk          *gd;
-       struct kobject          kobj;
        char                    *blk_symlink_name;
-       refcount_t              refcount;
        struct work_struct      unmap_on_rmmod_work;
 };