On 03/27/2011 03:08 AM, Evgeny Schmeilin wrote:
Hello,
Recently we have started to test our iscsi targets using Ubuntu hosts
with open-iscsi initiator. Our tests use sg to make IOs. We have seen
that on high load there are delays for some IOs. Sometime it takes 40
sec.
My investigation shows that the IOs are delayed somewere in the Ubuntu
stack. I see the IOs transmitted on the network long after it is
issued to sg and the response from the target is very fast.
Also I have seen some IOs that was issued to the same LUN after the
"Long IO" but it was send before "Long IO" on the network and took
reasonable time.
So my questions are:
Is there something in open-iscsi that can delay IOs ?
Is there something in open iscsi that can reorder read/write
commands ?
The iscsi driver sends the IO in the order it got sent to it. We only
support the data pdus inorder option.
The scsi layer could reorder things if a command times out and the scsi
eh is run. You might be hitting this. It could also explain why you are
seeing a delay in IO being sent.
The network layer could reorder things, so it depends on where you are
peaking at the ordering. If on the other side you are looking at the
target layer then it should come in the proper order. If on the other
side you are looking from the network layer then it depends on if you
are looking at things above or below the tcp layer I guess.
Is there any way to see per IO trace/log record in open-iscsi ?
See modinfo iscsi_tcp, modinfo libiscsi_tcp, and modinfo libiscsi. Do
echo 1 > /sys/module/libiscsi/parameters/debug_*
for each of the modules debug params.
--
You received this message because you are subscribed to the Google Groups
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com.
To unsubscribe from this group, send email to
open-iscsi+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/open-iscsi?hl=en.