Commit b13941f6 authored by Mike Christie's avatar Mike Christie Committed by James Bottomley

[SCSI] iscsi: nodelay fix

From: tomof@acm.org

I'm not sure about this. I don't think that NODELAY option hurts
performance. However, open-iscsi does not use MSG_MORE properly with
sendpage, so NODELAY option hurts the open-iscsi performance.

I've attached a patch to fix NODELAY and MSG_MORE problems and the
write performance results with disktest.

I use Opteron boxes connected directly, Chelsio NICs, 1500-byte MTU,
64 KB I/O size, and the iSCSI parameters on open-iscsi web site.

With only NODELAY fix, the performance drops, as you said. On the
other hand, NODELAY and MSG_MORE fixes improve the performance
overall.
Signed-off-by: default avatarAlex Aizman <itn780@yahoo.com>
Signed-off-by: default avatarDmitry Yusupov <dmitry_yus@yahoo.com>
Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 96bad874
...@@ -1385,7 +1385,7 @@ iscsi_sendpage(struct iscsi_conn *conn, struct iscsi_buf *buf, ...@@ -1385,7 +1385,7 @@ iscsi_sendpage(struct iscsi_conn *conn, struct iscsi_buf *buf,
BUG_ON(buf->sent + size > buf->sg.length); BUG_ON(buf->sent + size > buf->sg.length);
if (size > *count) if (size > *count)
size = *count; size = *count;
if (buf->sent + size != buf->sg.length) if (buf->sent + size != buf->sg.length || *count != size)
flags |= MSG_MORE; flags |= MSG_MORE;
res = iscsi_send(sk, buf, size, flags); res = iscsi_send(sk, buf, size, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment