Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f664a3cc authored by Jens Axboe's avatar Jens Axboe
Browse files

scsi: kill off the legacy IO path



This removes the legacy (non-mq) IO path for SCSI.

Cc: linux-scsi@vger.kernel.org
Acked-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
Tested-by: default avatarMing Lei <ming.lei@redhat.com>
Reviewed-by: default avatarOmar Sandoval <osandov@fb.com>
Acked-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 3a7ea2c4
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -97,11 +97,6 @@ parameters may be changed at runtime by the command
			allowing boot to proceed.  none ignores them, expecting
			user space to do the scan.

	scsi_mod.use_blk_mq=
			[SCSI] use blk-mq I/O path by default
			See SCSI_MQ_DEFAULT in drivers/scsi/Kconfig.
			Format: <y/n>

	sim710=		[SCSI,HW]
			See header of drivers/scsi/sim710.c.

+0 −12
Original line number Diff line number Diff line
@@ -50,18 +50,6 @@ config SCSI_NETLINK
	default	n
	depends on NET

config SCSI_MQ_DEFAULT
	bool "SCSI: use blk-mq I/O path by default"
	default y
	depends on SCSI
	---help---
	  This option enables the blk-mq based I/O path for SCSI devices by
	  default.  With this option the scsi_mod.use_blk_mq module/boot
	  option defaults to Y, without it to N, but it can still be
	  overridden either way.

	  If unsure say Y.

config SCSI_PROC_FS
	bool "legacy /proc/scsi/ support"
	depends on SCSI && PROC_FS
+0 −6
Original line number Diff line number Diff line
@@ -3088,12 +3088,6 @@ static ssize_t hwq_mode_store(struct device *dev,
		return -EINVAL;
	}

	if ((mode == HWQ_MODE_TAG) && !shost_use_blk_mq(shost)) {
		dev_info(cfgdev, "SCSI-MQ is not enabled, use a different "
			 "HWQ steering mode.\n");
		return -EINVAL;
	}

	afu->hwq_mode = mode;

	return count;
+6 −23
Original line number Diff line number Diff line
@@ -222,18 +222,9 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,
	if (error)
		goto fail;

	if (shost_use_blk_mq(shost)) {
	error = scsi_mq_setup_tags(shost);
	if (error)
		goto fail;
	} else {
		shost->bqt = blk_init_tags(shost->can_queue,
				shost->hostt->tag_alloc_policy);
		if (!shost->bqt) {
			error = -ENOMEM;
			goto fail;
		}
	}

	if (!shost->shost_gendev.parent)
		shost->shost_gendev.parent = dev ? dev : &platform_bus;
@@ -309,7 +300,6 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,
	pm_runtime_disable(&shost->shost_gendev);
	pm_runtime_set_suspended(&shost->shost_gendev);
	pm_runtime_put_noidle(&shost->shost_gendev);
	if (shost_use_blk_mq(shost))
	scsi_mq_destroy_tags(shost);
 fail:
	return error;
@@ -344,13 +334,8 @@ static void scsi_host_dev_release(struct device *dev)
		kfree(dev_name(&shost->shost_dev));
	}

	if (shost_use_blk_mq(shost)) {
	if (shost->tag_set.tags)
		scsi_mq_destroy_tags(shost);
	} else {
		if (shost->bqt)
			blk_free_tags(shost->bqt);
	}

	kfree(shost->shost_data);

@@ -472,8 +457,6 @@ struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize)
	else
		shost->dma_boundary = 0xffffffff;

	shost->use_blk_mq = scsi_use_blk_mq || shost->hostt->force_blk_mq;

	device_initialize(&shost->shost_gendev);
	dev_set_name(&shost->shost_gendev, "host%d", shost->host_no);
	shost->shost_gendev.bus = &scsi_bus_type;
+1 −1
Original line number Diff line number Diff line
@@ -3914,7 +3914,7 @@ int lpfc_sli4_scmd_to_wqidx_distr(struct lpfc_hba *phba,
	uint32_t tag;
	uint16_t hwq;

	if (cmnd && shost_use_blk_mq(cmnd->device->host)) {
	if (cmnd) {
		tag = blk_mq_unique_tag(cmnd->request);
		hwq = blk_mq_unique_tag_to_hwq(tag);

Loading