2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 07:04:00 +08:00
linux-next/drivers
Michael S. Tsirkin 839fcaba35 IPoIB: Connected mode experimental support
The following patch adds experimental support for IPoIB connected
mode, as defined by the draft from the IETF ipoib working group.  The
idea is to increase performance by increasing the MTU from the maximum
of 2K (theoretically 4K) supported by IPoIB on top of UD.  With this
code, I'm able to get 800MByte/sec or more with netperf without
options on a Mellanox 4x back-to-back DDR system.

Some notes on code:
1. SRQ is used for scalability to large cluster sizes
2. Only RC connections are used (UC does not support SRQ now)
3. Retry count is set to 0 since spec draft warns against retries
4. Each connection is used for data transfers in only 1 direction, so
   each connection is either active(TX) or passive (RX).  2 sides that
   want to communicate create 2 connections.
5. Each active (TX) connection has a separate CQ for send completions -
   this keeps the code simple without CQ resize and other tricks
6. To detect stale passive side connections (where the remote side is
   down), we keep an LRU list of passive connections (updated once per
   second per connection) and destroy a connection after it has been
   unused for several seconds. The LRU rule makes it possible to avoid
   scanning connections that have recently been active.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-02-10 08:00:48 -08:00
..
acorn [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
acpi [PATCH] wrong order of kzalloc arguments 2007-02-09 08:28:48 -08:00
amba [ARM] Fix __must_check warnings in drivers/bus/amba.c 2006-11-30 14:04:49 +00:00
ata libata: kill ATA_ENABLE_PATA 2007-02-09 17:39:40 -05:00
atm [PATCH] horizon.c: missing __devinit 2007-01-23 11:09:49 -08:00
base devres: device resource management 2007-02-09 17:39:36 -05:00
block [PATCH] Fix BUG at drivers/scsi/scsi_lib.c:1118 caused by "pktsetup dvd /dev/sr0" 2007-01-05 23:55:22 -08:00
bluetooth [Bluetooth] Correct SCO buffer for Broadcom based Dell laptops 2007-01-09 00:29:59 -08:00
cdrom [PATCH] cdrom: set default timeout to 7 seconds 2007-01-03 17:32:54 -08:00
char Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-apm 2007-02-09 09:44:28 -08:00
clocksource [PATCH] clocksource: small cleanup 2006-12-10 09:57:22 -08:00
connector [PATCH] connector: some fixes for ia64 unaligned access errors 2007-01-05 23:55:29 -08:00
cpufreq [CPUFREQ] check sysfs_create_link return value 2007-01-29 00:06:27 -05:00
crypto Merge branch 'HEAD' of master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6 2007-02-08 15:25:18 -08:00
dio
dma [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
eisa
fc4 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
firmware ACPICA: Remove duplicate table definitions (non-conflicting), cont 2007-02-02 21:14:29 -05:00
hid HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUG 2007-02-05 10:00:45 +01:00
hwmon [PATCH] hwmon: ansify 2007-02-09 09:14:06 -08:00
i2c USB: <linux/usb_ch9.h> becomes <linux/usb/ch9.h> 2007-02-07 15:44:32 -08:00
ide Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 2007-02-07 19:32:36 -08:00
ieee1394 ieee1394: fix host device registering when nodemgr disabled 2007-02-08 21:36:22 +01:00
infiniband IPoIB: Connected mode experimental support 2007-02-10 08:00:48 -08:00
input [ALSA] ucb1400_ts.c compilation fix (struct snd_ac97) 2007-02-09 09:02:25 +01:00
isdn [PATCH] Gigaset ISDN driver error handling fixes 2007-01-26 13:50:58 -08:00
kvm [PATCH] misc NULL noise removal 2007-02-09 09:14:07 -08:00
leds [PATCH] Fix leds-s3c24xx hardware.h reference 2007-01-05 23:55:21 -08:00
macintosh [PATCH] enable mouse button 2+3 emulation for x86 macs 2007-02-09 09:25:47 -08:00
mca
md [PATCH] md: avoid possible BUG_ON in md bitmap handling 2007-02-09 09:25:47 -08:00
media [PATCH] misc duplicate field initializers 2007-02-09 09:14:07 -08:00
message [SCSI] fusion: bump version 2007-01-06 09:32:49 -06:00
mfd [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
misc [PATCH] TIFM should depend on PCI - TIFM_CORE leads to use of pci primitives 2007-02-09 08:28:48 -08:00
mmc [PATCH] TIFM should depend on PCI - TIFM_CORE leads to use of pci primitives 2007-02-09 08:28:48 -08:00
mtd [PATCH] mtd/nand/cafe.c missing include of dma-mapping.h 2007-01-30 08:39:20 -08:00
net Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-tc 2007-02-09 09:22:36 -08:00
nubus
oprofile [PATCH] struct path: convert oprofile 2006-12-08 08:28:48 -08:00
parisc [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
parport [PATCH] Kconfig refactoring for better menu nesting 2006-12-10 09:55:39 -08:00
pci devres: device resource management 2007-02-09 17:39:36 -05:00
pcmcia [PATCH] m32r: class_device -> device fallout 2007-02-09 08:28:48 -08:00
pnp PNPACPI: remove EXPERIMENTAL dependency 2007-01-26 02:15:57 -05:00
ps3 [POWERPC] PS3: Move vuart declarations to ps3.h 2007-02-07 14:03:20 +11:00
rapidio
rtc [PATCH] rtc-pcf8563: detect polarity of century bit automatically 2007-02-09 09:25:46 -08:00
s390 [S390]: Adapt special message interface to new IUCV API 2007-02-08 13:51:11 -08:00
sbus [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
scsi Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-tc 2007-02-09 09:22:36 -08:00
serial [PATCH] drivers/serial NULL noise removal 2007-02-09 09:14:06 -08:00
sh
sn
spi Revert "Driver core: convert SPI code to use struct device" 2007-02-07 21:34:08 -08:00
tc [TC] MIPS: TURBOchannel resources off-by-one fix 2007-02-09 16:23:15 +00:00
telephony [PATCH] struct path: convert ixj 2006-12-08 08:28:46 -08:00
usb [PATCH] hci_{read,write}l() does force casts to wrong type for no reason 2007-02-09 09:14:08 -08:00
video [TC] pmagb-b-fb: Convert to the driver model 2007-02-09 16:23:18 +00:00
w1 [PATCH] w1: Fix for kconfig entry typo 2006-12-13 09:05:48 -08:00
zorro [PATCH] struct path: convert zorro 2006-12-08 08:28:50 -08:00
Kconfig [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00
Makefile [PATCH] enable mouse button 2+3 emulation for x86 macs 2007-02-09 09:25:47 -08:00