kernel-fxtec-pro1x/drivers/infiniband
Mike Marciniszyn bb77a07723 IB/qib: Optimize pio ack buffer allocation
This patch optimizes pio buffer allocation in the kernel.

For qib, kernel pio buffers are used for sending acks.  The code to
allocate the buffer would always start at 0 until it found a buffer.

This means that an average of 64 comparisions were done on each
allocate, since the busy bit won't be cleared until the bits are
refreshed when buffers are exhausted.

This patch adds two new fields in the devdata struct, last_pio and
min_kernel_pio.  last_pio is the last buffer that was allocated.
min_kernel_pio is the lowest potential available buffer.

min_kernel_pio is modifed as contexts are allocated and deallocted.

Reviewed-by: Ramkrishna Vepa <ramkrishna.vepa@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2012-05-14 12:37:03 -07:00
..
core A few fixes for regressions introduced in 3.4-rc1: 2012-04-26 15:35:35 -07:00
hw IB/qib: Optimize pio ack buffer allocation 2012-05-14 12:37:03 -07:00
ulp IB/srpt: Set srq_type to IB_SRQT_BASIC 2012-04-12 07:56:57 -07:00
Kconfig ib_srpt: Initial SRP Target merge for v3.3-rc1 2011-12-16 06:33:56 +00:00
Makefile ib_srpt: Initial SRP Target merge for v3.3-rc1 2011-12-16 06:33:56 +00:00