IB/iser: New receive buffer posting logic
authorOr Gerlitz <ogerlitz@voltaire.com>
Mon, 8 Feb 2010 13:17:42 +0000 (13:17 +0000)
committerRoland Dreier <rolandd@cisco.com>
Wed, 24 Feb 2010 17:41:10 +0000 (09:41 -0800)
commitbcc60c381d857ced653e912cbe6121294773e147
tree543a2d483a1110f9666ae5503d9e3c53a8782e0c
parent1cef4659850eeb862c248c7670e404d7a1711ed1
IB/iser: New receive buffer posting logic

Currently, the recv buffer posting logic is based on the transactional
nature of iSER which allows for posting a buffer before sending a PDU.
Change this to post only when the number of outstanding recv buffers
is below a water mark and in a batched manner, thus simplifying and
optimizing the data path.  Use a pre-allocated ring of recv buffers
instead of allocating from kmem cache.  A special treatment is given
to the login response buffer whose size must be 8K unlike the size of
buffers used for any other purpose which is 128 bytes.

Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/iser/iscsi_iser.c
drivers/infiniband/ulp/iser/iscsi_iser.h
drivers/infiniband/ulp/iser/iser_initiator.c
drivers/infiniband/ulp/iser/iser_verbs.c