linux/include/scsi
Christoph Hellwig 7ae65c0f96 scsi: convert target_busy to an atomic_t
Avoid taking the host-wide host_lock to check the per-target queue limit.
Instead we do an atomic_inc_return early on to grab our slot in the queue,
and if necessary decrement it after finishing all checks.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Webb Scales <webbnh@hp.com>
Acked-by: Jens Axboe <axboe@kernel.dk>
Tested-by: Bart Van Assche <bvanassche@acm.org>
Tested-by: Robert Elliott <elliott@hp.com>
2014-07-25 07:39:00 -04:00
..
fc libfc: Source code comment spelling fixes 2013-09-04 12:47:49 -07:00
fc_encode.h [SCSI] libfc: Add support for FDMI 2012-02-19 08:08:58 -06:00
fc_frame.h [SCSI] fcoe: remove unused ptype field in fcoe_rcv_info 2011-07-28 12:08:55 +04:00
fcoe_sysfs.h libfcoe, fcoe, bnx2fc: Add new fcoe control interface 2012-12-14 10:38:54 -08:00
iscsi_if.h [SCSI] scsi_transport_iscsi: Export ISCSI_PARAM_LOCAL_IPADDR attr for iscsi_connection 2013-12-19 20:56:26 -08:00
iscsi_proto.h [SCSI] be2iscsi: Get Initiator Name for the iSCSI_Host 2012-04-25 09:29:35 +01:00
libfc.h libfc: Do not invoke the response handler after fc_exch_done() 2013-09-04 13:45:22 -07:00
libfcoe.h libfcoe: Make fcoe_sysfs optional / fix fnic NULL exception 2013-10-11 13:25:40 -07:00
libiscsi_tcp.h [SCSI] libiscsi: Reduce locking contention in fast path 2014-03-15 10:19:18 -07:00
libiscsi.h Main batch of InfiniBand/RDMA changes for 3.15: 2014-04-03 16:57:19 -07:00
libsas.h libata, libsas: kill pm_result and related cleanup 2014-03-18 16:08:38 -04:00
osd_attributes.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
osd_initiator.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
osd_ore.h ore: Fix wrong math in allocation of per device BIO 2014-01-23 10:55:03 +02:00
osd_protocol.h include/scsi/osd_protocol.h: remove unnecessary __constant 2014-06-02 10:36:27 +02:00
osd_sec.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
osd_sense.h
osd_types.h
sas_ata.h [SCSI] sas: unify the pointlessly separated enums sas_dev_type and sas_device_type 2013-05-10 07:47:52 -07:00
sas.h [SCSI] sas: unify the pointlessly separated enums sas_dev_type and sas_device_type 2013-05-10 07:47:52 -07:00
scsi_bsg_iscsi.h [SCSI] iscsi class: add bsg support to iscsi class 2011-08-27 08:36:21 -06:00
scsi_cmnd.h scsi: remove various exports that were only used by scsi_tgt 2014-07-17 22:07:45 +02:00
scsi_dbg.h
scsi_device.h scsi: convert target_busy to an atomic_t 2014-07-25 07:39:00 -04:00
scsi_devinfo.h scsi_scan: Restrict sequential scan to 256 LUNs 2014-07-17 22:07:35 +02:00
scsi_dh.h [SCSI] scsi_dh: add scsi_dh_attached_handler_name 2012-07-20 08:58:42 +01:00
scsi_driver.h scsi: mark scsi_setup_blk_pc_cmnd static 2014-07-17 22:16:29 +02:00
scsi_eh.h
scsi_host.h scsi: remove various exports that were only used by scsi_tgt 2014-07-17 22:07:45 +02:00
scsi_ioctl.h
scsi_tcq.h [SCSI] target: Convert TASK_ATTR to scsi_tcq.h definitions 2011-05-24 13:03:56 -04:00
scsi_transport_fc.h [SCSI] scsi_transport_fc: Add 32Gbps speed definition. 2014-03-15 10:17:50 -07:00
scsi_transport_iscsi.h SCSI/libiscsi: Add check_protection callback for transports 2014-03-17 22:33:58 -07:00
scsi_transport_sas.h [SCSI] sas: unify the pointlessly separated enums sas_dev_type and sas_device_type 2013-05-10 07:47:52 -07:00
scsi_transport_spi.h
scsi_transport_srp.h scsi_transport_srp: Fix two kernel-doc warnings 2014-03-24 10:05:30 -07:00
scsi_transport.h scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
scsi.h scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
scsicam.h
sg.h sg: add SG_FLAG_Q_AT_TAIL flag 2014-07-17 22:07:34 +02:00
srp.h