On 6/7/22 8:19 AM, Dmitry Bogdanov wrote: > In function iscsi_data_xmit (TX worker) there is walking through the > queue of new SCSI commands that is replenished in parallell. And only > after that queue got emptied the function will start sending pending > DataOut PDUs. That lead to DataOut timer time out on target side and > to connection reinstatment. > > This patch swaps walking through the new commands queue and the pending > DataOut queue. To make a preference to ongoing commands over new ones. > > Reviewed-by: Konstantin Shelekhin <k.shelekhin@xxxxxxxxx> > Signed-off-by: Dmitry Bogdanov <d.bogdanov@xxxxxxxxx> Let's do this patch. I've tried so many combos of implementations and they all have different perf gains or losses with different workloads. I've already been going back and forth with myself for over a year (the link for my patch in the other mail was version N) and I don't think a common solution is going to happen. You patch fixes the bug, and I've found a workaround for my issue where I tweak the queue depth, so I think we will be ok. Reviewed-by: Mike Christie <michael.christie@xxxxxxxxxx>