linux/drivers
Michael S. Tsirkin ec56dc0b7f IPoIB/cm: Fix performance regression on Mellanox
commit 518b1646 ("IPoIB/cm: Fix SRQ WR leak") introduced a severe
performance regression on Mellanox cards, because keeping a QP in the
error state for extended periods of time moves hardware to the slow
path (until the QP is destroyed).  For example, MPI latency goes from
~3 usecs to ~7 usecs.

Fix this by posting a send WR on one of the QPs that are being
flushed, instead of using a separate drain QP that is kept in the
error state.

This fixes bug <https://bugs.openfabrics.org/show_bug.cgi?id=636>,
reported and bisected by Scott Weitzenkamp at Cisco and debugged by
Sasha Mikheev at Voltaire.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-05-29 16:07:09 -07:00
..
acorn
acpi acpi: fix potential call to a freed memory section. 2007-05-17 05:23:04 -07:00
amba
ata pata_hpt37x: Further improvements based on the IDE updates and vendor drivers 2007-05-25 17:29:59 -04:00
atm [ATM]: Use mutex instead of binary semaphore in idt77252 driver. 2007-05-24 16:36:45 -07:00
auxdisplay [S390] Kconfig: refine depends statements. 2007-05-10 15:46:07 +02:00
base Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
block Off by one in floppy.c 2007-05-23 20:14:15 -07:00
bluetooth [Bluetooth] Always send HCI_Reset for Broadcom devices 2007-05-24 14:26:15 +02:00
cdrom mm: remove destroy_dirty_buffers from invalidate_bdev() 2007-05-07 12:12:55 -07:00
char [SPARC]: Mark as emulating cmpxchg, add appropriate depends for DRM. 2007-05-29 02:51:24 -07:00
clocksource
connector
cpufreq Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
crypto [CRYPTO] geode: Fix in-place operations and set key 2007-05-24 21:23:24 +10:00
dio
dma [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
edac [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
eisa virtual_eisa_root_init() should be __init 2007-05-08 11:15:02 -07:00
fc4
firewire firewire: fix return code 2007-05-27 23:21:01 +02:00
firmware remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
hid USB HID: hiddev - fix race between hiddev_send_event() and hiddev_release() 2007-05-10 08:45:56 +02:00
hwmon hwmon/applesmc: Handle name file creation error and deletion 2007-05-27 22:17:43 +02:00
i2c i2c-s3c2410: Fix build warning 2007-05-22 19:49:16 +02:00
ide ide serverworks warning fixes 2007-05-24 02:42:39 +02:00
ieee1394 ieee1394: raw1394: Fix async send 2007-05-27 23:21:00 +02:00
infiniband IPoIB/cm: Fix performance regression on Mellanox 2007-05-29 16:07:09 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-05-23 08:11:43 -07:00
isdn drivers/isdn/hardware/eicon/message.c warning fixes 2007-05-23 20:14:15 -07:00
kvm Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
leds [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
macintosh Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc 2007-05-29 13:42:28 -07:00
mca mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
md md: fix bug with linear hot-add and elsewhere 2007-05-23 20:14:14 -07:00
media V4L/DVB (5691): Ov7670: reset clkrc in rgb565 mode 2007-05-22 16:16:29 -03:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-05-29 13:39:52 -07:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-05-23 08:11:43 -07:00
misc Misc: phantom, take care of pci posting 2007-05-23 20:14:14 -07:00
mmc mmc: clean up unused parts of block driver 2007-05-24 06:51:02 +02:00
mtd Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
net Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc 2007-05-29 13:42:28 -07:00
nubus
oprofile Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
parisc header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
parport parport_pc needs dma-mapping.h 2007-05-16 21:19:15 -07:00
pci Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
pcmcia fix hotplug for legacy platform drivers 2007-05-08 11:15:10 -07:00
pnp [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
ps3 Merge branch 'linux-2.6' 2007-05-08 13:37:51 +10:00
rapidio
rtc rtc kconfig clarification 2007-05-17 05:23:05 -07:00
s390 [SCSI] zfcp: IO stall after deleting and path checker changes after reenabling zfcp devices 2007-05-16 10:01:38 -04:00
sbus [SPARC] SBUS: display7seg.c needs asm/io.h 2007-05-13 22:22:47 -07:00
scsi Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2007-05-29 14:03:42 -07:00
serial [SPARC]: Linux always started with 9600 8N1 2007-05-29 02:50:07 -07:00
sh
sn
spi omap_uwire: SPI_CPHA mode bugfix 2007-05-23 20:14:15 -07:00
tc
telephony [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
usb USB: replace flush_workqueue with cancel_sync_work 2007-05-29 13:39:07 -07:00
video imxfb: fix memory hole 2007-05-23 20:14:13 -07:00
w1 [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
zorro Amiga Zorro bus: kill resource_size_t warnings 2007-05-04 17:59:08 -07:00
Kconfig
Makefile Merge branch 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2007-05-10 13:30:08 -07:00