Home
last modified time | relevance | path

Searched hist:bdf20e72548cdcca1c16f29ad30c5725fa1d8d11 (Results 1 – 2 of 2) sorted by relevance

/linux/drivers/infiniband/ulp/isert/
H A Dib_isert.hdiff bdf20e72548cdcca1c16f29ad30c5725fa1d8d11 Tue Dec 02 15:57:43 CET 2014 Sagi Grimberg <sagig@mellanox.com> iser-target: Remove an atomic operation from the IO path

In order to know that we consumed all the connection completions
we maintain atomic post_send_buf_count for each IO post send. But
we can know that if we post a "beacon" (zero length RECV work request)
after we move the QP into error state and the target does not serve
any new IO. When we consume it, we know we finished all the connection
completion and we can go ahead and destroy stuff.

In error completion handler we now just need to check for ISERT_BEACON_WRID
to arrive and then wait for session commands to cleanup and complete
conn_wait_comp_err.

We reserve another CQ and QP entries to fit the zero length post recv.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
H A Dib_isert.cdiff bdf20e72548cdcca1c16f29ad30c5725fa1d8d11 Tue Dec 02 15:57:43 CET 2014 Sagi Grimberg <sagig@mellanox.com> iser-target: Remove an atomic operation from the IO path

In order to know that we consumed all the connection completions
we maintain atomic post_send_buf_count for each IO post send. But
we can know that if we post a "beacon" (zero length RECV work request)
after we move the QP into error state and the target does not serve
any new IO. When we consume it, we know we finished all the connection
completion and we can go ahead and destroy stuff.

In error completion handler we now just need to check for ISERT_BEACON_WRID
to arrive and then wait for session commands to cleanup and complete
conn_wait_comp_err.

We reserve another CQ and QP entries to fit the zero length post recv.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>