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.

Reply via email to