diff options
author | Sagi Grimberg <sagig@mellanox.com> | 2014-12-02 16:57:41 +0200 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-12-12 23:32:30 -0800 |
commit | 6f0fae3d7797172f5c30ada80e815122fdf55609 (patch) | |
tree | 6fb3625df1c2a678bcfd300b442d0b1d05e9ec39 /drivers/infiniband/ulp/isert/ib_isert.h | |
parent | 4a295bae7e72d870354d337fe42360b0e4441e57 (diff) | |
download | blackbird-op-linux-6f0fae3d7797172f5c30ada80e815122fdf55609.tar.gz blackbird-op-linux-6f0fae3d7797172f5c30ada80e815122fdf55609.zip |
iser-target: Use single CQ for TX and RX
Using TX and RX CQs attached to the same vector might
create a throttling effect coming from the serial processing
of a work-queue. Use one CQ instead, it will do better in interrupt
processing and it provides a simpler code. Also, We get rid of
redundant isert_rx_wq.
Next we can remove the atomic post_send_buf_count from the IO path.
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/infiniband/ulp/isert/ib_isert.h')
-rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/infiniband/ulp/isert/ib_isert.h b/drivers/infiniband/ulp/isert/ib_isert.h index 3f93cb0a0f03..5c1a31e8df70 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.h +++ b/drivers/infiniband/ulp/isert/ib_isert.h @@ -163,20 +163,16 @@ struct isert_conn { * struct isert_comp - iSER completion context * * @device: pointer to device handle - * @rx_cq: RX completion queue - * @tx_cq: TX completion queue + * @cq: completion queue * @active_qps: Number of active QPs attached * to completion context - * @rx_work: RX work handle - * @tx_work: TX work handle + * @work: completion work handle */ struct isert_comp { - struct isert_device *device; - struct ib_cq *rx_cq; - struct ib_cq *tx_cq; + struct isert_device *device; + struct ib_cq *cq; int active_qps; - struct work_struct rx_work; - struct work_struct tx_work; + struct work_struct work; }; struct isert_device { |