From 181de7bf791ac1dd9434f3d450d06fe15bd82f05 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Mon, 2 Nov 2015 18:02:27 -0700 Subject: [PATCH] nvme: reorder nvme_controller for better packing After converting is_resetting to bool, it is smaller and can be packed more efficiently with is_failed and reordered after the larger fields used in the I/O path. Change-Id: Ifa2301eb61ce8d38eb5412cca61d2a91b1474101 Signed-off-by: Daniel Verkamp --- lib/nvme/nvme_internal.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/nvme/nvme_internal.h b/lib/nvme/nvme_internal.h index b44a299bd..0b7cbcefd 100644 --- a/lib/nvme/nvme_internal.h +++ b/lib/nvme/nvme_internal.h @@ -233,13 +233,14 @@ struct nvme_controller { /** I/O queue pairs */ struct nvme_qpair *ioq; - bool is_resetting; - - uint32_t num_ns; - /** Array of namespaces indexed by nsid - 1 */ struct nvme_namespace *ns; + uint32_t num_ns; + + bool is_resetting; + + bool is_failed; /* Cold data (not accessed in normal I/O path) is after this point. */ @@ -262,8 +263,6 @@ struct nvme_controller { nvme_aer_cb_fn_t aer_cb_fn; void *aer_cb_arg; - bool is_failed; - /** guards access to the controller itself, including admin queues */ nvme_mutex_t ctrlr_lock;