diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-10-05 05:13:03 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-10-05 05:27:05 -0400 |
commit | 0d0f660d882c1c02748ced13966a2413aa5d6cc2 (patch) | |
tree | ebab1ecb2e70c4f4ebcd56e1b974ece8c2876c11 /drivers/infiniband | |
parent | 92404e609a2dffc55a9a22540ed48b6f0edc9c59 (diff) |
iser-target: Disable TX completion interrupt coalescing
This patch explicitly disables TX completion interrupt coalescing logic
in isert_put_response() and isert_put_datain() that was originally added
as an efficiency optimization in commit 95b60f07.
It has been reported that this change can trigger ABORT_TASK timeouts
under certain small block workloads, where disabling coalescing was
required for stability. According to Sagi, this doesn't impact
overall performance, so go ahead and disable it for now.
Reported-by: Moussa Ba <moussaba@micron.com>
Reported-by: Sagi Grimberg <sagig@dev.mellanox.co.il>
Cc: <stable@vger.kernel.org> # 3.13+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index 40969b683fdd..f7191128b725 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c | |||
@@ -2183,7 +2183,7 @@ isert_put_response(struct iscsi_conn *conn, struct iscsi_cmd *cmd) | |||
2183 | isert_cmd->tx_desc.num_sge = 2; | 2183 | isert_cmd->tx_desc.num_sge = 2; |
2184 | } | 2184 | } |
2185 | 2185 | ||
2186 | isert_init_send_wr(isert_conn, isert_cmd, send_wr, true); | 2186 | isert_init_send_wr(isert_conn, isert_cmd, send_wr, false); |
2187 | 2187 | ||
2188 | pr_debug("Posting SCSI Response IB_WR_SEND >>>>>>>>>>>>>>>>>>>>>>\n"); | 2188 | pr_debug("Posting SCSI Response IB_WR_SEND >>>>>>>>>>>>>>>>>>>>>>\n"); |
2189 | 2189 | ||
@@ -2882,7 +2882,7 @@ isert_put_datain(struct iscsi_conn *conn, struct iscsi_cmd *cmd) | |||
2882 | &isert_cmd->tx_desc.iscsi_header); | 2882 | &isert_cmd->tx_desc.iscsi_header); |
2883 | isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); | 2883 | isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); |
2884 | isert_init_send_wr(isert_conn, isert_cmd, | 2884 | isert_init_send_wr(isert_conn, isert_cmd, |
2885 | &isert_cmd->tx_desc.send_wr, true); | 2885 | &isert_cmd->tx_desc.send_wr, false); |
2886 | isert_cmd->rdma_wr.s_send_wr.next = &isert_cmd->tx_desc.send_wr; | 2886 | isert_cmd->rdma_wr.s_send_wr.next = &isert_cmd->tx_desc.send_wr; |
2887 | wr->send_wr_num += 1; | 2887 | wr->send_wr_num += 1; |
2888 | } | 2888 | } |