forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "scsi: megaraid_sas: Added support for shared host tagset for …
…cpuhotplug" This reverts commit 103fbf8. It turns out that it causes long boot-time latencies (to the point of timeouts and failed boots). The cause is the increase in request queues, and a fix for that is queued up for 5.11, but we're reverting this commit that triggered the problem for now. Reported-and-tested-by: John Garry <[email protected]> Reported-and-tested-by: Julia Lawall <[email protected]> Reported-by: Qian Cai <[email protected]> Acked-by: Jens Axboe <[email protected]> Acked-by: Martin K. Petersen <[email protected]> Link: https://lore.kernel.org/linux-scsi/[email protected]/ Link: https://lore.kernel.org/lkml/alpine.DEB.2.22.394.2012081813310.2680@hadrien/ Link: https://lore.kernel.org/linux-block/[email protected]/ Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
Showing
2 changed files
with
13 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,7 +37,6 @@ | |
#include <linux/poll.h> | ||
#include <linux/vmalloc.h> | ||
#include <linux/irq_poll.h> | ||
#include <linux/blk-mq-pci.h> | ||
|
||
#include <scsi/scsi.h> | ||
#include <scsi/scsi_cmnd.h> | ||
|
@@ -114,10 +113,6 @@ unsigned int enable_sdev_max_qd; | |
module_param(enable_sdev_max_qd, int, 0444); | ||
MODULE_PARM_DESC(enable_sdev_max_qd, "Enable sdev max qd as can_queue. Default: 0"); | ||
|
||
int host_tagset_enable = 1; | ||
module_param(host_tagset_enable, int, 0444); | ||
MODULE_PARM_DESC(host_tagset_enable, "Shared host tagset enable/disable Default: enable(1)"); | ||
|
||
MODULE_LICENSE("GPL"); | ||
MODULE_VERSION(MEGASAS_VERSION); | ||
MODULE_AUTHOR("[email protected]"); | ||
|
@@ -3124,19 +3119,6 @@ megasas_bios_param(struct scsi_device *sdev, struct block_device *bdev, | |
return 0; | ||
} | ||
|
||
static int megasas_map_queues(struct Scsi_Host *shost) | ||
{ | ||
struct megasas_instance *instance; | ||
|
||
instance = (struct megasas_instance *)shost->hostdata; | ||
|
||
if (shost->nr_hw_queues == 1) | ||
return 0; | ||
|
||
return blk_mq_pci_map_queues(&shost->tag_set.map[HCTX_TYPE_DEFAULT], | ||
instance->pdev, instance->low_latency_index_start); | ||
} | ||
|
||
static void megasas_aen_polling(struct work_struct *work); | ||
|
||
/** | ||
|
@@ -3445,7 +3427,6 @@ static struct scsi_host_template megasas_template = { | |
.eh_timed_out = megasas_reset_timer, | ||
.shost_attrs = megaraid_host_attrs, | ||
.bios_param = megasas_bios_param, | ||
.map_queues = megasas_map_queues, | ||
.change_queue_depth = scsi_change_queue_depth, | ||
.max_segment_size = 0xffffffff, | ||
}; | ||
|
@@ -6827,26 +6808,6 @@ static int megasas_io_attach(struct megasas_instance *instance) | |
host->max_lun = MEGASAS_MAX_LUN; | ||
host->max_cmd_len = 16; | ||
|
||
/* Use shared host tagset only for fusion adaptors | ||
* if there are managed interrupts (smp affinity enabled case). | ||
* Single msix_vectors in kdump, so shared host tag is also disabled. | ||
*/ | ||
|
||
host->host_tagset = 0; | ||
host->nr_hw_queues = 1; | ||
|
||
if ((instance->adapter_type != MFI_SERIES) && | ||
(instance->msix_vectors > instance->low_latency_index_start) && | ||
host_tagset_enable && | ||
instance->smp_affinity_enable) { | ||
host->host_tagset = 1; | ||
host->nr_hw_queues = instance->msix_vectors - | ||
instance->low_latency_index_start; | ||
} | ||
|
||
dev_info(&instance->pdev->dev, | ||
"Max firmware commands: %d shared with nr_hw_queues = %d\n", | ||
instance->max_fw_cmds, host->nr_hw_queues); | ||
/* | ||
* Notify the mid-layer about the new controller | ||
*/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters