summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/host.c
diff options
context:
space:
mode:
authorTomasz Chudy <Tomasz.Chudy@intel.com>2011-02-25 02:25:09 -0800
committerDan Williams <dan.j.williams@intel.com>2011-07-03 03:55:28 -0700
commita8d4b9fe911c7d48f7a75c37eb1bfa3273547d97 (patch)
tree8b5fbdb2b6ea0e31dfcfc4c336b8bb5f4ba7d84a /drivers/scsi/isci/host.c
parent7c40a8035815479c7c12ab0cdcea71e0f4c3a9c8 (diff)
downloadop-kernel-dev-a8d4b9fe911c7d48f7a75c37eb1bfa3273547d97.zip
op-kernel-dev-a8d4b9fe911c7d48f7a75c37eb1bfa3273547d97.tar.gz
isci: workaround port task scheduler starvation issue
There is a condition whereby TCs (task contexts) can jump to the head of the round robin queue causing indefinite starvation of pending tasks. Posting a TC to a suspended RNC (remote node context) causes the hardware to select that task first, but since the RNC is suspended the scheduler proceeds to the next task in the expected round robin fashion, restoring TC arbitration fairness. Signed-off-by: Tomasz Chudy <tomasz.chudy@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/host.c')
-rw-r--r--drivers/scsi/isci/host.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/scsi/isci/host.c b/drivers/scsi/isci/host.c
index 1bc91f2..40614e9 100644
--- a/drivers/scsi/isci/host.c
+++ b/drivers/scsi/isci/host.c
@@ -381,7 +381,6 @@ int isci_host_init(struct isci_host *isci_host)
int index = 0;
enum sci_status status;
struct scic_sds_controller *controller;
- struct scic_sds_port *scic_port;
union scic_oem_parameters scic_oem_params;
union scic_user_parameters scic_user_params;
@@ -517,11 +516,5 @@ int isci_host_init(struct isci_host *isci_host)
for (index = 0; index < SCI_MAX_PHYS; index++)
isci_phy_init(&isci_host->phys[index], isci_host, index);
- /* Start the ports */
- for (index = 0; index < SCI_MAX_PORTS; index++) {
- scic_controller_get_port_handle(controller, index, &scic_port);
- scic_port_start(scic_port);
- }
-
return 0;
}
OpenPOWER on IntegriCloud