Commit 5f41a31d authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Nicholas Bellinger

target: remove the execute list

Since "target: Drop se_device TCQ queue_depth usage from I/O path" we always
submit all commands (or back then, tasks) from __transport_execute_tasks.

That means the the execute list has lots its purpose, as we can simply
submit the commands that are restarted in transport_complete_task_attr
directly while we walk the list.  In fact doing so also solves a race
in the way it currently walks to delayed_cmd_list as well.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent a3785c87
...@@ -93,7 +93,6 @@ void release_se_kmem_caches(void); ...@@ -93,7 +93,6 @@ void release_se_kmem_caches(void);
u32 scsi_get_new_index(scsi_index_t); u32 scsi_get_new_index(scsi_index_t);
void transport_subsystem_check_init(void); void transport_subsystem_check_init(void);
void transport_cmd_finish_abort(struct se_cmd *, int); void transport_cmd_finish_abort(struct se_cmd *, int);
void __target_remove_from_execute_list(struct se_cmd *);
unsigned char *transport_dump_cmd_direction(struct se_cmd *); unsigned char *transport_dump_cmd_direction(struct se_cmd *);
void transport_dump_dev_state(struct se_device *, char *, int *); void transport_dump_dev_state(struct se_device *, char *, int *);
void transport_dump_dev_info(struct se_device *, struct se_lun *, void transport_dump_dev_info(struct se_device *, struct se_lun *,
......
...@@ -295,9 +295,6 @@ static void core_tmr_drain_state_list( ...@@ -295,9 +295,6 @@ static void core_tmr_drain_state_list(
list_move_tail(&cmd->state_list, &drain_task_list); list_move_tail(&cmd->state_list, &drain_task_list);
cmd->state_active = false; cmd->state_active = false;
if (!list_empty(&cmd->execute_list))
__target_remove_from_execute_list(cmd);
} }
spin_unlock_irqrestore(&dev->execute_task_lock, flags); spin_unlock_irqrestore(&dev->execute_task_lock, flags);
......
This diff is collapsed.
...@@ -572,7 +572,6 @@ struct se_cmd { ...@@ -572,7 +572,6 @@ struct se_cmd {
struct scatterlist *t_bidi_data_sg; struct scatterlist *t_bidi_data_sg;
unsigned int t_bidi_data_nents; unsigned int t_bidi_data_nents;
struct list_head execute_list;
struct list_head state_list; struct list_head state_list;
bool state_active; bool state_active;
...@@ -777,7 +776,6 @@ struct se_device { ...@@ -777,7 +776,6 @@ struct se_device {
/* Active commands on this virtual SE device */ /* Active commands on this virtual SE device */
atomic_t simple_cmds; atomic_t simple_cmds;
atomic_t dev_ordered_id; atomic_t dev_ordered_id;
atomic_t execute_tasks;
atomic_t dev_ordered_sync; atomic_t dev_ordered_sync;
atomic_t dev_qf_count; atomic_t dev_qf_count;
struct se_obj dev_obj; struct se_obj dev_obj;
...@@ -803,7 +801,6 @@ struct se_device { ...@@ -803,7 +801,6 @@ struct se_device {
struct task_struct *process_thread; struct task_struct *process_thread;
struct work_struct qf_work_queue; struct work_struct qf_work_queue;
struct list_head delayed_cmd_list; struct list_head delayed_cmd_list;
struct list_head execute_list;
struct list_head state_list; struct list_head state_list;
struct list_head qf_cmd_list; struct list_head qf_cmd_list;
/* Pointer to associated SE HBA */ /* Pointer to associated SE HBA */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment