android_kernel_samsung_msm8976/drivers
Bryan O'Sullivan 13aef4942c [PATCH] IB/ipath: reduce overhead on receive interrupts
Also count the number of interrupts where that works (fastrcvint).  On any
interrupt where the port0 head and tail registers are not equal, just call the
ipath_kreceive code without reading the interrupt status, thus saving the
approximately 0.25usec processor stall waiting for the read to return.  If any
other interrupt bits are set, or head==tail, take the normal path, but that
has been reordered to handle read ahead of pioavail.  Also no longer call
ipath_kreceive() from ipath_qcheck(), because that just seems to make things
worse, and isn't really buying us anything, these days.

Also no longer loop in ipath_kreceive(); better to not hold things off too
long (I saw many cases where we would loop 4-8 times, and handle thousands (up
to 3500) in a single call).

Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: "Michael S. Tsirkin" <mst@mellanox.co.il>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-01 09:56:00 -07:00
..
acorn Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
acpi [PATCH] ACPI: fix not power-manageable device message 2006-07-01 09:55:58 -07:00
amba [PATCH] 64bit resource: fix up printks for resources in misc drivers 2006-06-27 09:23:59 -07:00
atm Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
block Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
bluetooth Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cdrom Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
clocksource
connector
cpufreq Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
crypto
dio
dma
edac [PATCH] EDAC: fix module names quoted in sysfs 2006-07-01 09:55:58 -07:00
eisa Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fc4 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
firmware Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hwmon Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i2c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
ieee1394 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
infiniband [PATCH] IB/ipath: reduce overhead on receive interrupts 2006-07-01 09:56:00 -07:00
input Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
isdn Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
leds Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
macintosh Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mca
md Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
message Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mfd Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
misc Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mmc Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mtd Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
net Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-06-30 15:40:17 -07:00
nubus Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
oprofile
parisc Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
parport Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pci Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
pnp Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
rapidio Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
rtc fix a typo in the RTC_CLASS help text 2006-06-30 18:18:41 +02:00
s390 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sbus Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
serial Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2006-06-30 15:40:35 -07:00
sh
sn Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
spi Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tc Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
telephony Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
w1
zorro Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig
Makefile