Browse Source

target: pack struct se_task more tightly

Rearrange the fields in se_task to avoid holes.  Also increase the
flags field to 16 bits as we have the space for it, and this makes
adding new flags safer.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Christoph Hellwig 13 years ago
parent
commit
3189b067ee
1 changed files with 15 additions and 15 deletions
  1. 15 15
      include/target/target_core_base.h

+ 15 - 15
include/target/target_core_base.h

@@ -402,24 +402,24 @@ struct se_queue_obj {
 } ____cacheline_aligned;
 
 struct se_task {
-	unsigned char	task_sense;
-	struct scatterlist *task_sg;
-	u32		task_sg_nents;
-	struct scatterlist *task_sg_bidi;
-	u8		task_scsi_status;
-	u8		task_flags;
-	int		task_error_status;
 	unsigned long long	task_lba;
-	u32		task_sectors;
-	u32		task_size;
+	u32			task_sectors;
+	u32			task_size;
+	struct se_cmd		*task_se_cmd;
+	struct scatterlist	*task_sg;
+	struct scatterlist	*task_sg_bidi;
+	u32			task_sg_nents;
+	u16			task_flags;
+	u8			task_sense;
+	u8			task_scsi_status;
+	int			task_error_status;
 	enum dma_data_direction	task_data_direction;
-	struct se_cmd *task_se_cmd;
-	struct completion	task_stop_comp;
-	atomic_t	task_state_active;
+	atomic_t		task_state_active;
 	struct timer_list	task_timer;
-	struct list_head t_list;
-	struct list_head t_execute_list;
-	struct list_head t_state_list;
+	struct list_head	t_list;
+	struct list_head	t_execute_list;
+	struct list_head	t_state_list;
+	struct completion	task_stop_comp;
 } ____cacheline_aligned;
 
 struct se_cmd {