From: Mike Christie <michaelc@cs.wisc.edu>
To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: "Moussa Ba (moussaba)" <moussaba@micron.com>,
"target-devel@vger.kernel.org" <target-devel@vger.kernel.org>,
Nicholas Bellinger <nab@daterainc.com>,
Or Gerlitz <ogerlitz@mellanox.com>,
linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: CmdSN greather than MaxCmdSN protocol error in LIO Iser
Date: Tue, 12 Nov 2013 09:43:27 -0600 [thread overview]
Message-ID: <52824C9F.4000500@cs.wisc.edu> (raw)
In-Reply-To: <52824B3C.10203@cs.wisc.edu>
On 11/12/13 9:37 AM, Mike Christie wrote:
>>
>> if (max_cmdsn != session->max_cmdsn &&
>> !iscsi_sna_lt(max_cmdsn, session->max_cmdsn)) {
>> session->max_cmdsn = max_cmdsn;
>> /*
>> * if the window closed with IO queued, then kick the
>> * xmit thread
>> */
>> if (!list_empty(&session->leadconn->cmdqueue) ||
>> !list_empty(&session->leadconn->mgmtqueue))
>> iscsi_conn_queue_work(session->leadconn);
>> }
>> }
>>
>> Once iscsi_conn_queue_work() is invoked here to start process context
>> execution of iscsi_xmitworker() -> iscsi_data_xmit() code, AFAICT there
>> is no logic in place within iscsi_data_xmit() to honor the last received
>> MaxCmdSN.
>>
>> Or to put it another way: what is preventing iscsi_data_xmit() from
>> completely draining both conn->cmdqueue + conn->requeue, even when the
>> CmdSN window has potentially been closed again..?
>>
>
> If the window was not big enough we would have not accepted the cmd from
> scsi-ml in iscsi_queuecommand. We would have never put it on the list
> above then.
Oh yeah, if you are asking yourself why that code exists then, it is
because we used to internally queue cmds when the window closed. In
iscsi_data_xmit we then checked the window like in your patch. We
switched to having the scsi layer queue for us, but that code above got
left there.
Or sent a patch the other day to remove it:
http://marc.info/?l=linux-scsi&m=138288022619303&w=2
next prev parent reply other threads:[~2013-11-12 15:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <697D97E420EE024FB7451B574CD4991BCA064554@NTXBOIMBX05.micron.com>
[not found] ` <1384204653.12281.7.camel@haakon3.risingtidesystems.com>
[not found] ` <1384216960.12281.24.camel@haakon3.risingtidesystems.com>
[not found] ` <1384217317.12281.26.camel@haakon3.risingtidesystems.com>
2013-11-12 1:31 ` CmdSN greather than MaxCmdSN protocol error in LIO Iser Nicholas A. Bellinger
2013-11-12 2:16 ` Nicholas A. Bellinger
2013-11-12 2:32 ` Michael Christie
2013-11-12 2:39 ` Michael Christie
2013-11-12 4:34 ` Nicholas A. Bellinger
2013-11-12 7:27 ` Or Gerlitz
2013-11-12 9:15 ` Nicholas A. Bellinger
2013-11-12 15:37 ` Mike Christie
2013-11-12 15:43 ` Mike Christie [this message]
2013-11-12 18:18 ` Moussa Ba (moussaba)
2013-11-12 19:46 ` Michael Christie
2013-11-12 19:48 ` Moussa Ba (moussaba)
2013-11-12 21:15 ` Nicholas A. Bellinger
2013-11-12 22:11 ` Moussa Ba (moussaba)
2013-11-12 22:14 ` Nicholas A. Bellinger
2013-11-12 22:15 ` Moussa Ba (moussaba)
2013-11-12 23:03 ` Moussa Ba (moussaba)
2013-11-13 1:51 ` Nicholas A. Bellinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52824C9F.4000500@cs.wisc.edu \
--to=michaelc@cs.wisc.edu \
--cc=linux-scsi@vger.kernel.org \
--cc=moussaba@micron.com \
--cc=nab@daterainc.com \
--cc=nab@linux-iscsi.org \
--cc=ogerlitz@mellanox.com \
--cc=target-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.