linux/drivers/scsi
Vasu Dev 4bb6b51533 [SCSI] fcoe: reduces lock cost when adding a new skb to fcoe_pending_queue
Currently fcoe_pending_queue.lock held twice for every new skb
adding to this queue when already least one pkt is pending in this
queue and that is not uncommon once skb pkts starts getting queued
here upon fcoe_start_io => dev_queue_xmit failure.

This patch moves most fcoe_pending_queue logic to fcoe_check_wait_queue
function, this new logic grabs fcoe_pending_queue.lock only once to
add a new skb instead twice as used to be.

I think after this patch call flow around fcoe_check_wait_queue
calling in fcoe_xmit is bit simplified with modified
fcoe_check_wait_queue function taking care of adding and
removing pending skb in one function.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2009-06-08 13:29:13 -05:00
..
aacraid Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n) 2009-04-13 15:04:33 -07:00
aic7xxx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
aic7xxx_old
aic94xx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
arcmsr dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
arm Merge branch 'master' into devel 2009-03-28 20:30:18 +00:00
cxgb3i [SCSI] cxgb3i: Include net/dst.h for struct dst_cache 2009-06-08 13:09:33 -05:00
device_handler [SCSI] scsi_dh_rdac: Retry for NOT_READY(02/04/01) in rdac device handler 2009-05-20 17:21:14 -05:00
dpt
fcoe [SCSI] fcoe: reduces lock cost when adding a new skb to fcoe_pending_queue 2009-06-08 13:29:13 -05:00
fnic [SCSI] libfc,fcoe,fnic: Separate rport and lport max retry counts 2009-05-23 15:44:18 -05:00
ibmvscsi [SCSI] ibmvfc: Driver version 1.0.6 2009-06-08 13:07:51 -05:00
libfc [SCSI] libfc: Check if exchange is completed when receiving a sequence 2009-06-08 13:29:11 -05:00
libsas
lpfc [SCSI] lpfc 8.3.2 : Update the lpfc driver version to 8.3.2 2009-06-08 11:26:34 -05:00
megaraid dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
mpt2sas [SCSI] mpt2sas: bump driver version to 01.100.03.00 2009-05-23 15:44:18 -05:00
mvsas [SCSI] mvsas: remove all the casts from void * or to void * 2009-05-23 15:44:13 -05:00
osd Reduce path_lookup() abuses 2009-05-09 10:49:42 -04:00
pcmcia
qla2xxx [SCSI] qla2xxx: Update version number to 8.03.01-k2. 2009-05-20 17:21:11 -05:00
qla4xxx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sym53c8xx_2 [SCSI] sym53c8xx_2: slave_alloc/destroy safety (2.6.27.5) 2009-05-20 17:21:14 -05:00
.gitignore
3w-9xxx.c [SCSI] 3w-9xxx: scsi_dma_unmap fix 2009-05-15 12:23:32 -04:00
3w-9xxx.h [SCSI] 3w-9xxx: add power management support 2009-03-13 15:46:42 -05:00
3w-xxxx.c [SCSI] 3w-xxxx: scsi_dma_unmap fix 2009-05-15 12:24:59 -04:00
3w-xxxx.h [SCSI] 3w-xxxx: scsi_dma_unmap fix 2009-05-15 12:24:59 -04:00
53c700_d.h_shipped
53c700.c
53c700.h
53c700.scr
a100u2w.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
a100u2w.h
a2091.c [SCSI] a2091: make 2 functions static 2009-04-03 10:17:31 -05:00
a2091.h [SCSI] a2091: make 2 functions static 2009-04-03 10:17:31 -05:00
a3000.c [SCSI] a3000: make 2 functions static 2009-04-03 10:17:17 -05:00
a3000.h [SCSI] a3000: make 2 functions static 2009-04-03 10:17:17 -05:00
a4000t.c scsi: a4000 - Correct driver unregistration in case of failure 2009-04-22 20:39:06 +02:00
advansys.c [SCSI] advansys: use request_firmware 2009-04-03 09:25:23 -05:00
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
aic7xxx_old.c
atari_NCR5380.c m68k: section mismatch fixes: Atari SCSI 2009-03-26 21:15:29 +01:00
atari_scsi.c m68k: section mismatch fixes: Atari SCSI 2009-03-26 21:15:29 +01:00
atari_scsi.h
atp870u.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
atp870u.h
BusLogic.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
BusLogic.h
bvme6000_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
ch.c [SCSI] ch: Add scsi type modalias 2009-03-13 15:48:43 -05:00
constants.c [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
dc395x.c
dc395x.h
dmx3191d.c
dpt_i2o.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c
eata_pio.h
eata.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
esp_scsi.c
esp_scsi.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gdth.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
gdth.h
gvp11.c
gvp11.h
hosts.c [SCSI] fix /proc memory leak in the SCSI core 2009-03-12 12:58:17 -05:00
hptiop.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
hptiop.h
ibmmca.c
imm.c
imm.h
in2000.c
in2000.h
initio.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
initio.h
ipr.c [SCSI] ipr: fix PCI permanent error handler 2009-05-23 15:44:07 -05:00
ipr.h [SCSI] ipr: add MSI support 2009-03-12 12:57:58 -05:00
ips.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ips.h
iscsi_tcp.c [SCSI] cxgb3i, iser, iscsi_tcp: set target can queue 2009-04-27 10:09:54 -05:00
iscsi_tcp.h
jazz_esp.c
Kconfig [SCSI] Update wording of CONFIG_SCSI_MULTI_LUN help 2009-05-23 15:44:06 -05:00
lasi700.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
libiscsi_tcp.c [SCSI] libiscsi: add task aborted state 2009-05-23 15:44:13 -05:00
libiscsi.c [SCSI] libiscsi: add debug printks for iscsi command completion path 2009-05-23 15:44:13 -05:00
libsrp.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile [SCSI] mvsas: move into new directory drivers/scsi/mvsas/ 2009-05-20 17:21:12 -05:00
megaraid.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
mvme147.c
mvme147.h
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
NCR5380.h
NCR_D700.c [SCSI] NCR_D700: fix IRQ handler return type 2009-05-23 15:44:09 -05:00
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
nsp32.h
osst_detect.h
osst_options.h
osst.c [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
osst.h [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
pas16.c
pas16.h
ppa.c
ppa.h
ps3rom.c
qla1280.c [SCSI] qla1280: error recovery rewrite 2009-05-20 17:21:13 -05:00
qla1280.h [SCSI] qla1280: error recovery rewrite 2009-05-20 17:21:13 -05:00
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c [SCSI] qlogicpti: use request_firmware 2009-04-03 09:25:23 -05:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: fix virtual disk larger than 1TB 2009-05-20 17:21:15 -05:00
scsi_devinfo.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
scsi_error.c [SCSI] fix up scsi_eh_lock_door() 2009-06-08 12:47:40 -05:00
scsi_ioctl.c
scsi_lib_dma.c
scsi_lib.c [SCSI] limit state transitions in scsi_internal_device_unblock 2009-05-23 15:44:05 -05:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_priv.h PM/Hibernate: Wait for SCSI devices scan to complete during resume 2009-04-13 11:37:07 -07:00
scsi_proc.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
scsi_sas_internal.h
scsi_scan.c [SCSI] Increase default timeout for INQUIRY 2009-05-20 17:21:13 -05:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] scsi_sysfs: delete extra kernel-doc 2009-03-12 12:57:55 -05:00
scsi_tgt_if.c
scsi_tgt_lib.c
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
scsi_transport_iscsi.c [SCSI] iscsi: pass ep connect shost 2009-05-23 15:44:09 -05:00
scsi_transport_sas.c
scsi_transport_spi.c
scsi_transport_srp_internal.h
scsi_transport_srp.c
scsi_typedefs.h
scsi_wait_scan.c driver synchronization: make scsi_wait_scan more advanced 2009-04-21 19:40:00 -07:00
scsi.c [SCSI] fix documentation for two functions 2009-06-08 12:23:35 -05:00
scsi.h
scsicam.c
sd_dif.c
sd.c [SCSI] sd: fix bug in SCSI async probing 2009-06-08 13:00:13 -05:00
sd.h [SCSI] sd: Make revalidate less chatty 2009-03-17 21:43:52 -04:00
ses.c [SCSI] ses: #if 0 the unused ses_match_host() 2009-04-03 10:17:01 -05:00
sg.c [SCSI] sg: return EFAULT for an invalid user address 2009-04-27 09:38:11 -05:00
sgiwd93.c
sim710.c
sni_53c710.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sr_ioctl.c [SCSI] sr: report more accurate drive status after closing the tray. 2009-04-27 09:32:30 -05:00
sr_vendor.c
sr.c [SCSI] fix recovered error handling 2009-04-03 09:22:55 -05:00
sr.h
st_options.h
st.c [SCSI] st: fix gcc 4.4 warning 2009-05-23 15:44:06 -05:00
st.h
stex.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sun3_NCR5380.c
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
wd33c93.c
wd33c93.h
wd7000.c
zalon.c parisc: fix dev_printk() compile warnings for accessing a device struct 2009-03-13 01:18:14 -04:00
zorro7xx.c