aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/libsas.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2014-11-05 04:36:28 -0500
committerChristoph Hellwig <hch@lst.de>2014-11-27 10:40:24 -0500
commit79855d178557cc3e3ffd179fd26a64cef48dfb30 (patch)
tree316621212e058975d86cef255e9ec86f70d0deb0 /include/scsi/libsas.h
parent309e7cc433e79ba0124e7e359503e66c41b46509 (diff)
libsas: remove task_collector mode
The task_collector mode (or "latency_injector", (C) Dan Willians) is an optional I/O path in libsas that queues up scsi commands instead of directly sending it to the hardware. It generall increases latencies to in the optiomal case slightly reduce mmio traffic to the hardware. Only the obsolete aic94xx driver and the mvsas driver allowed to use it without recompiling the kernel, and most drivers didn't support it at all. Remove the giant blob of code to allow better optimizations for scsi-mq in the future. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Acked-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'include/scsi/libsas.h')
-rw-r--r--include/scsi/libsas.h14
1 files changed, 1 insertions, 13 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index 1f8b33ec612f..832dcc9f86ec 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -365,12 +365,6 @@ struct asd_sas_phy {
365struct scsi_core { 365struct scsi_core {
366 struct Scsi_Host *shost; 366 struct Scsi_Host *shost;
367 367
368 struct mutex task_queue_flush;
369 spinlock_t task_queue_lock;
370 struct list_head task_queue;
371 int task_queue_size;
372
373 struct task_struct *queue_thread;
374}; 368};
375 369
376struct sas_ha_event { 370struct sas_ha_event {
@@ -422,9 +416,6 @@ struct sas_ha_struct {
422 struct asd_sas_port **sas_port; /* array of valid pointers, must be set */ 416 struct asd_sas_port **sas_port; /* array of valid pointers, must be set */
423 int num_phys; /* must be set, gt 0, static */ 417 int num_phys; /* must be set, gt 0, static */
424 418
425 /* The class calls this to send a task for execution. */
426 int lldd_max_execute_num;
427 int lldd_queue_size;
428 int strict_wide_ports; /* both sas_addr and attached_sas_addr must match 419 int strict_wide_ports; /* both sas_addr and attached_sas_addr must match
429 * their siblings when forming wide ports */ 420 * their siblings when forming wide ports */
430 421
@@ -612,7 +603,6 @@ struct sas_ssp_task {
612 603
613struct sas_task { 604struct sas_task {
614 struct domain_device *dev; 605 struct domain_device *dev;
615 struct list_head list;
616 606
617 spinlock_t task_state_lock; 607 spinlock_t task_state_lock;
618 unsigned task_state_flags; 608 unsigned task_state_flags;
@@ -665,8 +655,7 @@ struct sas_domain_function_template {
665 int (*lldd_dev_found)(struct domain_device *); 655 int (*lldd_dev_found)(struct domain_device *);
666 void (*lldd_dev_gone)(struct domain_device *); 656 void (*lldd_dev_gone)(struct domain_device *);
667 657
668 int (*lldd_execute_task)(struct sas_task *, int num, 658 int (*lldd_execute_task)(struct sas_task *, gfp_t gfp_flags);
669 gfp_t gfp_flags);
670 659
671 /* Task Management Functions. Must be called from process context. */ 660 /* Task Management Functions. Must be called from process context. */
672 int (*lldd_abort_task)(struct sas_task *); 661 int (*lldd_abort_task)(struct sas_task *);
@@ -700,7 +689,6 @@ extern void sas_suspend_ha(struct sas_ha_struct *sas_ha);
700int sas_set_phy_speed(struct sas_phy *phy, 689int sas_set_phy_speed(struct sas_phy *phy,
701 struct sas_phy_linkrates *rates); 690 struct sas_phy_linkrates *rates);
702int sas_phy_reset(struct sas_phy *phy, int hard_reset); 691int sas_phy_reset(struct sas_phy *phy, int hard_reset);
703int sas_queue_up(struct sas_task *task);
704extern int sas_queuecommand(struct Scsi_Host * ,struct scsi_cmnd *); 692extern int sas_queuecommand(struct Scsi_Host * ,struct scsi_cmnd *);
705extern int sas_target_alloc(struct scsi_target *); 693extern int sas_target_alloc(struct scsi_target *);
706extern int sas_slave_configure(struct scsi_device *); 694extern int sas_slave_configure(struct scsi_device *);