|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: VI (Was: Avoiding deadlock in iSCSI)Charles Monia [mailto:cmonia@NishanSystems.com] wrote: > In the context of generic ULP "flow control" issues, the following > observations are offered. > > Assuming one VI/TCP message queue handles all SCSI control > traffic for a > target, using flow control on messages to prevent the > "queue-full" condition > has undesirable side effects. Specifically, back pressure due > to lack of > command context resources within a logical unit would stop the flow of > commands and task management requests to all other LUNS (a > form of "head of > line" blocking). > > There's another issue that is perhaps less obvious. Even if > multiple message > queues are used, say one per LUN, stopping the flow of > messages due to a > queue full condition would also stop the flow of task > management messages as > well. Good points, Charles. So SCSI over VI would imply at least two message queues per LUN, if one of the message queues is to flow control on the SCSI command queue resource. This seems excessive, so VI flow control no longer looks like an attractive way to handle the "ordered command queuing TASK_SET_FULL" problem. Assuming that the message queue does flow control only on the message buffer resource (i.e. the VI flow control substitutes for rejecting a command with BUSY status), then I think it is in principle possible to implement SCSI over VI using only one message queue per device (not that this is necessarily desirable). Regards, -Steve Steve Byan <stephen.byan@quantum.com> Design Engineer MS 1-3/E23 333 South Street Shrewsbury, MA 01545 (508)770-3414 fax: (508)770-2604
Home Last updated: Tue Sep 04 01:07:13 2001 6315 messages in chronological order |