Jens Axboe
74c450521d
blk-mq: add a 'list' parameter to ->queue_rq()
...
Since we have the notion of a 'last' request in a chain, we can use
this to have the hardware optimize the issuing of requests. Add
a list_head parameter to queue_rq that the driver can use to
temporarily store hw commands for issue when 'last' is true. If we
are doing a chain of requests, pass in a NULL list for the first
request to force issue of that immediately, then batch the remainder
for deferred issue until the last request has been sent.
Instead of adding yet another argument to the hot ->queue_rq path,
encapsulate the passed arguments in a blk_mq_queue_data structure.
This is passed as a constant, and has been tested as faster than
passing 4 (or even 3) args through ->queue_rq. Update drivers for
the new ->queue_rq() prototype. There are no functional changes
in this patch for drivers - if they don't use the passed in list,
then they will just queue requests individually like before.
Signed-off-by: Jens Axboe <[email protected] >
2014-10-29 11:14:52 -06:00
..
aacraid
scsi: add use_cmd_list flag
2014-09-15 16:01:58 -07:00
aic7xxx
treewide: Fix typo in printk
2014-08-26 09:35:54 +02:00
aic94xx
arcmsr
arcmsr: simplify ioctl data read/write
2014-09-25 14:23:40 +02:00
arm
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
be2iscsi
be2iscsi: check ip buffer before copying
2014-09-30 09:29:55 +02:00
bfa
bfa: Use pci_enable_msix_exact() instead of pci_enable_msix()
2014-07-29 08:38:52 -04:00
bnx2fc
SCSI for-linus on 20141007
2014-10-07 21:29:18 -04:00
bnx2i
SCSI for-linus on 20141007
2014-10-07 21:29:18 -04:00
csiostor
SCSI for-linus on 20141007
2014-10-07 21:29:18 -04:00
cxgbi
cxgb4i : Fix -Wmaybe-uninitialized warning.
2014-10-15 12:13:27 -04:00
device_handler
block,scsi: fixup blk_get_request dead queue scenarios
2014-08-28 10:03:46 -06:00
dpt
esas2r
esas2r: Fix comment
2014-05-19 19:12:23 +02:00
fcoe
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-10-13 16:23:15 +02:00
fnic
SCSI for-linus on 20141007
2014-10-07 21:29:18 -04:00
ibmvscsi
ibmvfc: fix little endian issues
2014-07-25 17:16:55 -04:00
isci
PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use
2014-08-12 12:15:14 -06:00
libfc
libfc: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
2014-09-30 09:28:36 +02:00
libsas
scsi: convert host_busy to atomic_t
2014-07-25 07:43:43 -04:00
lpfc
lpfc: update lpfc version to driver version 10.4.8000.0
2014-09-16 09:10:14 -07:00
megaraid
megaraid_sas : Driver version update
2014-09-16 09:19:29 -07:00
mpt2sas
mpt2sas: fix undefined reference to `__udivdi3' compilation errors
2014-09-22 16:35:45 +02:00
mpt3sas
mpt3sas, mpt2sas: fix scsi_add_host error handling problems in _scsih_probe
2014-09-16 09:14:21 -07:00
mvsas
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2014-08-06 21:03:53 -07:00
osd
block,scsi: fixup blk_get_request dead queue scenarios
2014-08-28 10:03:46 -06:00
pcmcia
treewide: Fix typo in printk
2014-08-26 09:35:54 +02:00
pm8001
pm8001: Update nvmd response data to request buffer
2014-09-16 09:09:48 -07:00
qla2xxx
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-10-13 16:23:15 +02:00
qla4xxx
qla4xxx: fix get_host_stats error propagation
2014-08-01 08:16:39 -04:00
sym53c8xx_2
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
ufs
ufs: definitions for phy interface
2014-10-01 13:11:26 +02:00
.gitignore
3w-9xxx.c
[SCSI] Disable WRITE SAME for RAID and virtual host adapter drivers
2013-11-29 08:48:39 +04:00
3w-9xxx.h
3w-sas.c
scsi: use pci_zalloc_consistent
2014-08-08 15:57:29 -07:00
3w-sas.h
3w-xxxx.c
[SCSI] Disable WRITE SAME for RAID and virtual host adapter drivers
2013-11-29 08:48:39 +04:00
3w-xxxx.h
3w-xxxx: fix mis-aligned struct accesses
2014-07-25 17:16:56 -04:00
53c700.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
scsi: use pci_zalloc_consistent
2014-08-08 15:57:29 -07:00
a100u2w.h
a2091.c
zorro: ZTWO_VADDR() should return "void __iomem *"
2013-11-26 11:09:07 +01:00
a2091.h
a3000.c
zorro: ZTWO_VADDR() should return "void __iomem *"
2013-11-26 11:09:07 +01:00
a3000.h
a4000t.c
zorro: ZTWO_VADDR() should return "void __iomem *"
2013-11-26 11:09:07 +01:00
advansys.c
scsi: convert host_busy to atomic_t
2014-07-25 07:43:43 -04:00
aha152x.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
atari_NCR5380.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
atari_scsi.c
SCSI for-linus on 20140609
2014-06-09 18:54:06 -07:00
atari_scsi.h
scsi/NCR5380: remove unused macro definitions
2014-05-28 12:11:08 +02:00
atp870u.c
SCSI: remove unnecessary pci_set_drvdata()
2013-10-14 15:26:04 +02:00
atp870u.h
BusLogic.c
PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use
2014-08-12 12:15:14 -06:00
BusLogic.h
bvme6000_scsi.c
ch.c
scsi: Implement ch_printk()
2014-07-17 22:07:40 +02:00
constants.c
[SCSI] scsi constants: command, sense key + additional sense strings
2013-07-09 22:52:29 +01:00
dc395x.c
scsi: use 64-bit value for 'max_luns'
2014-07-17 22:07:38 +02:00
dc395x.h
dmx3191d.c
dpt_i2o.c
scsi: add use_cmd_list flag
2014-09-15 16:01:58 -07:00
dpti.h
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
dtc.c
scsi/NCR5380: fix and standardize NDEBUG macros
2014-05-28 12:10:43 +02:00
dtc.h
eata.c
eata: remove driver_lock
2014-09-16 09:09:38 -07:00
eata_generic.h
eata_pio.c
[SCSI] remove deprecated IRQF_DISABLED from SCSI
2014-03-19 15:04:44 -07:00
eata_pio.h
esp_scsi.c
esp_scsi: Fix tag state corruption when autosensing.
2013-08-01 18:08:34 -07:00
esp_scsi.h
esp_scsi: Fix tag state corruption when autosensing.
2013-08-01 18:08:34 -07:00
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
g_NCR5380.h
scsi/NCR5380: remove old CVS keywords
2014-05-28 12:05:37 +02:00
g_NCR5380_mmio.c
gdth.c
[SCSI] remove deprecated IRQF_DISABLED from SCSI
2014-03-19 15:04:44 -07:00
gdth.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gvp11.c
zorro: ZTWO_VADDR() should return "void __iomem *"
2013-11-26 11:09:07 +01:00
gvp11.h
hosts.c
scsi: add support for a blk-mq based I/O path.
2014-07-25 17:16:28 -04:00
hpsa.c
hpsa: add missing pci_set_master in kdump path
2014-09-25 14:23:41 +02:00
hpsa.h
hpsa: fix event filtering to prevent excessive rescans with old firmware
2014-06-02 09:54:59 +02:00
hpsa_cmd.h
hpsa: fix handling of hpsa_volume_offline return value
2014-06-02 09:55:02 +02:00
hptiop.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
hptiop.h
imm.c
imm.h
in2000.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
in2000.h
initio.c
[SCSI] remove deprecated IRQF_DISABLED from SCSI
2014-03-19 15:04:44 -07:00
initio.h
ipr.c
ipr: don't log error messages when applications issues illegal requests
2014-09-25 14:23:18 +02:00
ipr.h
ipr: fix compile failure
2014-09-26 10:07:27 +02:00
ips.c
scsi: replace strnicmp with strncasecmp
2014-10-14 02:18:24 +02:00
ips.h
iscsi_boot_sysfs.c
[SCSI] iscsi_boot_sysfs: Fix a memory leak in iscsi_boot_destroy_kset()
2014-03-15 10:19:19 -07:00
iscsi_tcp.c
iscsi_tcp: export port being used
2014-09-30 09:29:55 +02:00
iscsi_tcp.h
net: Fix use after free by removing length arg from sk_data_ready callbacks.
2014-04-11 16:15:36 -04:00
jazz_esp.c
Kconfig
Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block
2014-10-18 11:53:51 -07:00
lasi700.c
libiscsi.c
iscsi_tcp: export port being used
2014-09-30 09:29:55 +02:00
libiscsi_tcp.c
[SCSI] libiscsi: Reduce locking contention in fast path
2014-03-15 10:19:18 -07:00
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
scsi/NCR5380: fix and standardize NDEBUG macros
2014-05-28 12:10:43 +02:00
mac_scsi.h
scsi/NCR5380: remove old CVS keywords
2014-05-28 12:05:37 +02:00
Makefile
xen-scsifront: Add Xen PV SCSI frontend driver
2014-09-23 13:36:19 +00:00
megaraid.c
scsi: use 64-bit value for 'max_luns'
2014-07-17 22:07:38 +02:00
megaraid.h
[SCSI] megaraid: simplify internal command handling
2014-03-27 08:26:31 -07:00
mesh.c
scsi: use pci_zalloc_consistent
2014-08-08 15:57:29 -07:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c
PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use
2014-08-12 12:15:14 -06:00
mvumi.h
ncr53c8xx.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
ncr53c8xx.h
scsi: Remove CONFIG_SCSI_MULTI_LUN
2014-07-17 22:07:35 +02:00
NCR53c406a.c
NCR53c406a: don't call free_dma() by default
2014-07-25 17:16:56 -04:00
NCR5380.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
NCR5380.h
scsi/NCR5380: dprintk macro
2014-05-28 18:14:16 +02:00
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32.c
SCSI for-linus on 20141007
2014-10-07 21:29:18 -04:00
nsp32.h
nsp32_debug.c
nsp32_io.h
osst.c
block,scsi: fixup blk_get_request dead queue scenarios
2014-08-28 10:03:46 -06:00
osst.h
osst_detect.h
osst_options.h
pas16.c
pas16: don't call free_dma()
2014-07-25 17:16:55 -04:00
pas16.h
scsi/NCR5380: remove redundant HOSTS_C macro tests
2014-05-28 12:05:36 +02:00
pmcraid.c
pmcraid: Use pci_enable_msix_range() instead of pci_enable_msix()
2014-09-16 09:09:57 -07:00
pmcraid.h
ppa.c
ppa.h
ps3rom.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
qla1280.c
x86, platforms: Remove SGI Visual Workstation
2014-02-27 08:07:39 -08:00
qla1280.h
qlogicfas.c
qlogicfas: don't call free_dma()
2014-07-25 17:16:55 -04:00
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
scsi: convert host_busy to atomic_t
2014-07-25 07:43:43 -04:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c
scsi: add a CONFIG_SCSI_MQ_DEFAULT option
2014-10-01 13:14:03 +02:00
scsi.h
scsi_debug.c
scsi: replace strnicmp with strncasecmp
2014-10-14 02:18:24 +02:00
scsi_devinfo.c
scsi: do not issue SCSI RSOC command to Promise Vtrak E610f
2014-07-29 18:01:10 -04:00
scsi_error.c
Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block
2014-10-18 11:53:51 -07:00
scsi_ioctl.c
scsi: use dev_printk() variants for ioctl
2014-07-17 22:07:41 +02:00
scsi_lib.c
blk-mq: add a 'list' parameter to ->queue_rq()
2014-10-29 11:14:52 -06:00
scsi_lib_dma.c
scsi_logging.h
scsi_module.c
scsi_netlink.c
net: Use netlink_ns_capable to verify the permisions of netlink messages
2014-04-24 13:44:54 -04:00
scsi_pm.c
scsi: async sd resume
2014-04-10 15:30:35 -07:00
scsi_priv.h
scsi: add support for a blk-mq based I/O path.
2014-07-25 17:16:28 -04:00
scsi_proc.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
scsi_sas_internal.h
scsi_scan.c
scsi: don't add scsi_device if its already visible
2014-10-01 13:11:08 +02:00
scsi_sysctl.c
scsi: convert use of typedef ctl_table to struct ctl_table
2014-06-06 16:08:16 -07:00
scsi_sysfs.c
scsi: balance out autopm get/put calls in scsi_sysfs_add_sdev()
2014-09-15 16:02:05 -07:00
scsi_trace.c
tracing: Add trace_seq_buffer_ptr() helper function
2014-07-01 07:13:39 -04:00
scsi_transport_api.h
scsi_transport_fc.c
scsi: add defines for new FC port speeds.
2014-07-25 17:16:54 -04:00
scsi_transport_iscsi.c
iscsi class: Fix freeing of skb in get host error path
2014-08-04 13:16:14 +02:00
scsi_transport_sas.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
scsi_transport_spi.c
scsi_transport_srp.c
Main set of InfiniBand/RDMA updates for 3.17 merge window:
2014-08-14 11:09:05 -06:00
scsi_typedefs.h
scsicam.c
sd.c
Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block
2014-10-18 12:12:45 -07:00
sd.h
sd: Honor block layer integrity handling flags
2014-09-30 15:17:35 -06:00
sd_dif.c
sd: Honor block layer integrity handling flags
2014-09-30 15:17:35 -06:00
ses.c
[SCSI] ses: Use vpd information from scsi_device
2014-03-27 08:26:31 -07:00
sg.c
block,scsi: fixup blk_get_request dead queue scenarios
2014-08-28 10:03:46 -06:00
sgiwd93.c
sim710.c
sni_53c710.c
sr.c
scsi: balance out autopm get/put calls in scsi_sysfs_add_sdev()
2014-09-15 16:02:05 -07:00
sr.h
scsi: move the writeable field from struct scsi_device to struct scsi_cd
2014-07-25 17:16:41 -04:00
sr_ioctl.c
scsi: Implement sr_printk()
2014-07-17 22:07:39 +02:00
sr_vendor.c
scsi: Implement sr_printk()
2014-07-17 22:07:39 +02:00
st.c
Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block
2014-10-18 11:53:51 -07:00
st.h
st_options.h
stex.c
SCSI: remove unnecessary pci_set_drvdata()
2013-10-14 15:26:04 +02:00
storvsc_drv.c
storvsc: get rid of overly verbose warning messages
2014-09-22 16:36:06 +02:00
sun3_NCR5380.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
sun3_scsi.c
scsi/NCR5380: merge sun3_scsi_vme.c into sun3_scsi.c
2014-05-28 12:16:28 +02:00
sun3_scsi.h
scsi/NCR5380: reduce depth of sun3_scsi nested includes
2014-05-28 12:11:33 +02:00
sun3_scsi_vme.c
scsi/NCR5380: merge sun3_scsi_vme.c into sun3_scsi.c
2014-05-28 12:16:28 +02:00
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c
scsi/NCR5380: remove old CVS keywords
2014-05-28 12:05:37 +02:00
t128.h
scsi/NCR5380: remove old CVS keywords
2014-05-28 12:05:37 +02:00
tmscsim.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
tmscsim.h
[SCSI] tmscsim: Move 'last_reset' into host structure
2013-10-25 11:51:37 +01:00
u14-34f.c
scsi: fix u14-34f printk format warnings
2014-08-01 08:18:37 -04:00
ultrastor.c
ultrastor.h
virtio_scsi.c
virtio_scsi: drop scan callback
2014-10-15 10:25:14 +10:30
vmw_pvscsi.c
vmw_pvscsi: Use pci_enable_msix_exact() instead of pci_enable_msix()
2014-07-29 08:38:53 -04:00
vmw_pvscsi.h
PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h
2014-09-24 11:52:09 -06:00
wd33c93.c
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
wd33c93.h
wd7000.c
[SCSI] remove deprecated IRQF_DISABLED from SCSI
2014-03-19 15:04:44 -07:00
xen-scsifront.c
xen: remove DEFINE_XENBUS_DRIVER() macro
2014-10-06 10:27:57 +01:00
zalon.c
zorro7xx.c
zorro: ZTWO_VADDR() should return "void __iomem *"
2013-11-26 11:09:07 +01:00