nvmet: reorder fields in 'struct nvme_dhchap_queue_context'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 1 May 2023 12:40:28 +0000 (14:40 +0200)
committerKeith Busch <kbusch@kernel.org>
Mon, 12 Jun 2023 17:36:51 +0000 (10:36 -0700)
Group some variables based on their sizes to reduce holes.
On x86_64, this shrinks the size of 'struct nvme_dhchap_queue_context' from
416 to 400 bytes.

This structure is kvcalloc()'ed in nvme_auth_init_ctrl(), so it is likely
that the allocation can be relatively big. Saving 16 bytes per structure
may might a slight difference.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/auth.c

index ea16a0a..daf5d14 100644 (file)
@@ -30,18 +30,18 @@ struct nvme_dhchap_queue_context {
        u32 s2;
        u16 transaction;
        u8 status;
+       u8 dhgroup_id;
        u8 hash_id;
        size_t hash_len;
-       u8 dhgroup_id;
        u8 c1[64];
        u8 c2[64];
        u8 response[64];
        u8 *host_response;
        u8 *ctrl_key;
-       int ctrl_key_len;
        u8 *host_key;
-       int host_key_len;
        u8 *sess_key;
+       int ctrl_key_len;
+       int host_key_len;
        int sess_key_len;
 };