IB/srp: allow lockless work posting
authorBart Van Assche <bvanassche@acm.org>
Fri, 26 Nov 2010 18:22:48 +0000 (13:22 -0500)
committerDavid Dillow <dillowda@ornl.gov>
Wed, 5 Jan 2011 20:24:25 +0000 (15:24 -0500)
commitdcb4cb85f4b7caac9769bce464fef16306a4758c
tree1c21889c8b778415f9a8d46fcf28853eb42ede18
parent9709f0e05b827049733f439de82a4a1688b37b86
IB/srp: allow lockless work posting

Only one CPU at a time will own an RX IU, so using the address of the IU
as the work request cookie allows us to avoid taking a lock. We can
similarly prepare the TX path for lockless posting by moving the free TX
IUs to a list. This also removes the requirement that the queue sizes be
a power of 2.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
[ broken out, small cleanups, and modified to avoid needing an extra field
  in the IU by David Dillow]
Signed-off-by: David Dillow <dillowda@ornl.gov>
drivers/infiniband/ulp/srp/ib_srp.c
drivers/infiniband/ulp/srp/ib_srp.h