android_kernel_xiaomi_sdm845/drivers/infiniband/hw/ipath
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
..
ipath_common.h [PATCH] IB/ipath: reduce overhead on receive interrupts 2006-07-01 09:56:00 -07:00
ipath_cq.c [PATCH] IB/ipath: enforce device resource limits 2006-07-01 09:55:59 -07:00
ipath_debug.h [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_diag.c [PATCH] IB/ipath: allow diags on any unit 2006-07-01 09:55:58 -07:00
ipath_driver.c [PATCH] IB/ipath: reduce overhead on receive interrupts 2006-07-01 09:56:00 -07:00
ipath_eeprom.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_file_ops.c [PATCH] IB/ipath: memory management cleanups 2006-07-01 09:56:00 -07:00
ipath_fs.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_ht400.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_init_chip.c [PATCH] IB/ipath: memory management cleanups 2006-07-01 09:56:00 -07:00
ipath_intr.c [PATCH] IB/ipath: reduce overhead on receive interrupts 2006-07-01 09:56:00 -07:00
ipath_kernel.h [PATCH] IB/ipath: memory management cleanups 2006-07-01 09:56:00 -07:00
ipath_keys.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_layer.c [PATCH] IB/ipath: report correct device identification information in /sys 2006-07-01 09:55:59 -07:00
ipath_layer.h [PATCH] IB/ipath: report correct device identification information in /sys 2006-07-01 09:55:59 -07:00
ipath_mad.c [PATCH] IB/ipath: report correct device identification information in /sys 2006-07-01 09:55:59 -07:00
ipath_mr.c [PATCH] IB/ipath: don't allow resources to be created with illegal values 2006-07-01 09:55:59 -07:00
ipath_pe800.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_qp.c [PATCH] IB/ipath: enforce device resource limits 2006-07-01 09:55:59 -07:00
ipath_rc.c [PATCH] IB/ipath: fix shared receive queues for RC 2006-07-01 09:55:58 -07:00
ipath_registers.h [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_ruc.c [PATCH] IB/ipath: share more common code between RC and UC protocols 2006-07-01 09:55:58 -07:00
ipath_srq.c [PATCH] IB/ipath: enforce device resource limits 2006-07-01 09:55:59 -07:00
ipath_stats.c [PATCH] IB/ipath: reduce overhead on receive interrupts 2006-07-01 09:56:00 -07:00
ipath_sysfs.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_uc.c [PATCH] IB/ipath: share more common code between RC and UC protocols 2006-07-01 09:55:58 -07:00
ipath_ud.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_user_pages.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ipath_verbs_mcast.c [PATCH] IB/ipath: enforce device resource limits 2006-07-01 09:55:59 -07:00
ipath_verbs.c [PATCH] IB/ipath: enforce device resource limits 2006-07-01 09:55:59 -07:00
ipath_verbs.h [PATCH] IB/ipath: enforce device resource limits 2006-07-01 09:55:59 -07:00
ipath_wc_x86_64.c [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
ips_common.h [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
Kconfig [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
Makefile [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00
verbs_debug.h [PATCH] IB/ipath: update copyrights and other strings to reflect new company name 2006-07-01 09:55:58 -07:00