OpenCloudOS-Kernel/drivers
Mike Marciniszyn af061a644a IB/qib: Use RCU for qpn lookup
The heavy weight spinlock in qib_lookup_qpn() is replaced with RCU.
The hash list itself is now accessed via jhash functions instead of mod.

The changes should benefit multiple receive contexts in different
processors by not contending for the lock just to read the hash
structures.

The patch also adds a lookaside_qp (pointer) and a lookaside_qpn in
the context.  The interrupt handler will test the current packet's qpn
against lookaside_qpn if the lookaside_qp pointer is non-NULL.  The
pointer is NULL'ed when the interrupt handler exits.

Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2011-10-21 09:38:54 -07:00
..
accessibility
acpi Merge branches 'apei', 'bz-13195' and 'doc' into acpi 2011-09-12 20:00:00 -04:00
amba
ata drivers/ata/sata_dwc_460ex.c: add missing kfree 2011-08-18 23:58:11 -04:00
atm atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
auxdisplay
base PM / Clocks: Do not acquire a mutex under a spinlock 2011-09-26 19:40:23 +02:00
bcma bcma: add uevent to the bus, to autoload drivers 2011-08-22 14:21:41 -04:00
block floppy: use del_timer_sync() in init cleanup 2011-09-21 10:22:11 +02:00
bluetooth Bluetooth: add support for 2011 mac mini 2011-09-17 17:16:03 -03:00
cdrom drivers/cdrom/cdrom.c: relax check on dvd manufacturer value 2011-08-02 12:43:50 +02:00
char TPM: Zero buffer after copying to userspace 2011-09-23 09:46:41 +10:00
clk
clocksource Merge branch 'common/core' into sh-latest 2011-08-08 16:33:54 +09:00
connector proc_fork_connector: a lockless ->real_parent usage is not safe 2011-07-28 18:26:32 -07:00
cpufreq drivers/cpufreq/pcc-cpufreq.c: avoid NULL pointer dereference 2011-09-14 18:09:38 -07:00
cpuidle cpuidle: stop depending on pm_idle 2011-08-03 19:06:37 -04:00
crypto n2_crypto: Attach on Niagara-T3. 2011-07-28 01:30:07 -07:00
dca
dio
dma dmaengine/ste_dma40: fix memory leak due to prepared descriptors 2011-09-05 17:08:26 +05:30
edac i7core_edac: fixed typo in error count calculation 2011-08-18 14:07:15 -07:00
eisa eisa/pci_eisa.c: fix BUG introduced by 005bdad7b8 2011-08-04 06:32:51 -10:00
firewire firewire: ohci: add no MSI quirk for O2Micro controller 2011-09-16 22:22:10 +02:00
firmware firmware: fix google/gsmi.c build warning 2011-08-08 13:53:49 -07:00
gpio drivers/gpio/gpio-generic.c: fix build errors 2011-09-14 18:09:38 -07:00
gpu drm/radeon/kms: fix channel_remap setup (v2) 2011-10-04 17:24:14 +01:00
hid Merge branch 'for-linus' of git://github.com/dtor/input 2011-09-16 14:09:19 -07:00
hwmon hwmon: (coretemp) Avoid leaving around dangling pointer 2011-09-28 08:19:21 -07:00
hwspinlock
i2c i2c-tegra: fix possible race condition after tx 2011-09-07 00:13:40 +01:00
ide ide-disk: Fix request requeuing 2011-10-03 14:28:18 -04:00
idle
ieee802154
infiniband IB/qib: Use RCU for qpn lookup 2011-10-21 09:38:54 -07:00
input Merge branch 'for-linus' of git://github.com/dtor/input 2011-09-16 14:09:19 -07:00
iommu x86, iommu: Mark DMAR IRQ as non-threaded 2011-09-13 23:44:53 +02:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-07-28 05:58:19 -07:00
leds drivers/leds/ledtrig-timer.c: fix broken sysfs delay handling 2011-09-14 18:09:38 -07:00
lguest
macintosh
mca
md md: Fix handling for devices from 2TB to 4TB in 0.90 metadata. 2011-09-10 17:21:28 +10:00
media [media] omap3isp: Fix build error in ispccdc.c 2011-09-21 22:18:26 -03:00
memstick
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-07-30 08:36:02 -10:00
mfd mfd: Fix generic irq chip ack function name for jz4740-adc 2011-09-21 13:06:34 +02:00
misc lis3: fix regression of HP DriveGuard with 8bit chip 2011-10-03 20:51:51 -07:00
mmc Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2011-09-21 13:20:21 -07:00
mtd UBI: do not link debug messages when debugging is disabled 2011-08-19 19:02:27 +03:00
net pch_gbe: Fixed the issue on which a network freezes 2011-10-03 14:20:39 -04:00
nfc NFC: pn533: use after free in pn533_disconnect() 2011-07-26 16:27:24 -04:00
nubus
of Revert "dt: add of_alias_scan and of_alias_get_id" 2011-08-04 11:26:24 +01:00
oprofile atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
parisc
parport Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-07-25 23:09:27 -07:00
pci PCI: Disable MPS configuration by default 2011-10-04 09:52:28 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2011-07-31 06:23:08 -10:00
platform acer-wmi: support Lenovo ideapad S205 wifi switch 2011-08-05 15:21:52 -04:00
pnp Merge 'akpm' patch series 2011-07-25 21:00:19 -07:00
power s3c-adc-battery: Fix compilation error due to missing header (module.h) 2011-08-19 21:01:46 +04:00
pps
ps3
ptp
rapidio rapidio: fix use of non-compatible registers 2011-08-25 16:25:34 -07:00
regulator Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 2011-08-01 14:05:46 -10:00
rtc drivers/rtc/rtc-s3c.c: fix no occurrence of alarm interrupt 2011-09-14 18:09:38 -07:00
s390 [S390] cio: fix cio_tpi ignoring adapter interrupts 2011-09-26 16:40:50 +02:00
sbus atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
scsi Merge git://bedivere.hansenpartnership.com/git/scsi-rc-fixes-2.6 2011-09-28 08:23:39 -07:00
sfi
sh Merge branch 'common/core' into sh-latest 2011-08-08 16:33:54 +09:00
sn
spi spi-topcliff-pch: Fix overrun issue 2011-10-04 10:10:50 -06:00
ssb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
staging staging: zcache: fix cleancache crash 2011-09-20 14:17:13 -07:00
target iscsi-target: Fix sendpage breakage with proper padding+DataDigest iovec offsets 2011-09-16 23:47:07 +00:00
tc
telephony
thermal thermal: make THERMAL_HWMON implementation fully internal 2011-08-02 14:51:57 -04:00
tty cris: fix a build error in drivers/tty/serial/crisv10.c 2011-09-14 18:09:38 -07:00
uio Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-07-25 23:06:24 -07:00
usb USB: xHCI: prevent infinite loop when processing MSE event 2011-09-19 17:15:47 -07:00
uwb
vhost atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
video backlight: Declare backlight_types[] const 2011-09-10 14:00:02 -07:00
virt drivers/virt: add missing linux/interrupt.h to fsl_hypervisor.c 2011-07-22 09:24:39 -05:00
virtio virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
vlynq
w1 MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
watchdog watchdog: Initconst section fixes for watchdog 2011-09-20 14:32:00 +02:00
xen xen/irq: Alter the locking to use a mutex instead of a spinlock. 2011-09-15 04:32:02 -04:00
zorro zorro: Defer device_register() until all devices have been identified 2011-09-22 12:59:35 -07:00
Kconfig Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-07-25 22:59:39 -07:00
Makefile Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-07-25 22:59:39 -07:00