RDMA/cxgb4: Remove kfifo usage
authorVipul Pandya <vipul@chelsio.com>
Fri, 18 May 2012 09:59:32 +0000 (15:29 +0530)
committerRoland Dreier <roland@purestorage.com>
Fri, 18 May 2012 20:22:36 +0000 (13:22 -0700)
commitec3eead217181d7360a11317a888ceb30807867c
treea03f11c906567206293bfed251542c0d0da05e43
parentd716a2a014ad199362a59004b5ab932030a213ff
RDMA/cxgb4: Remove kfifo usage

Using kfifos for ID management was limiting the number of QPs and
preventing NP384 MPI jobs.  So replace it with a simple bitmap
allocator.

Remove IDs from the IDR tables before deallocating them.  This bug was
causing the BUG_ON() in insert_handle() to fire because the ID was
getting reused before being removed from the IDR table.

Signed-off-by: Vipul Pandya <vipul@chelsio.com>
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/cxgb4/Makefile
drivers/infiniband/hw/cxgb4/device.c
drivers/infiniband/hw/cxgb4/id_table.c [new file with mode: 0644]
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
drivers/infiniband/hw/cxgb4/mem.c
drivers/infiniband/hw/cxgb4/provider.c
drivers/infiniband/hw/cxgb4/resource.c