nvmet: Reorder fields in 'struct nvmet_ns'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 27 Apr 2023 19:47:45 +0000 (21:47 +0200)
committerKeith Busch <kbusch@kernel.org>
Wed, 21 Jun 2023 16:41:40 +0000 (09:41 -0700)
Group some variables based on their sizes to reduce holes.
On x86_64, this shrinks the size of 'struct nvmet_ns' from 520 to 512
bytes.

When such a structure is allocated in nvmet_ns_alloc(), because of the way
memory allocation works, when 520 bytes were requested, 1024 bytes were
allocated.

So, on x86_64, this change saves 512 bytes per allocation.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/target/nvmet.h

index 6cf723b..8cfd60f 100644 (file)
@@ -79,8 +79,8 @@ struct nvmet_ns {
        struct completion       disable_done;
        mempool_t               *bvec_pool;
 
-       int                     use_p2pmem;
        struct pci_dev          *p2p_dev;
+       int                     use_p2pmem;
        int                     pi_type;
        int                     metadata_size;
        u8                      csi;