From: James Bottomley <James.Bottomley@SteelEye.com>
To: Mike Christie <mikenc@us.ibm.com>
Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>,
Linux-SCSI Mailing List <linux-scsi@vger.kernel.org>,
linux-iscsi-devel@lists.sourceforge.net,
Krishna Murthy <krmurthy@cisco.com>
Subject: Re: [linux-iscsi-devel] Re: PATCH [3/5] qla2xxx: TCQ fixes
Date: 13 Jul 2004 15:20:43 -0500 [thread overview]
Message-ID: <1089750044.1798.156.camel@mulgrave> (raw)
In-Reply-To: <40F43242.1060703@us.ibm.com>
On Tue, 2004-07-13 at 14:04, Mike Christie wrote:
> Unfortunately not, but it could be done. The iSCSI requirement is only
> that every iSCSI task has a tag which has the gaurantee of it being
> unique across a session, so if the host value was unique across all
> request_queues then it would still be safe to use.
Yes, I know...I've been over this several times with iscsi people. The
basic point, I think, is that the driver could be so much tidier if
session state were stored in the host, and there were a direct
host<->end point correspondence. You're certainly going to damage
scalability with a single host because of the way we use the host lock
to count per-host outstanding commands.
> The problem is that we need a tag for every iscsi task, so this includes
> untagged commands and logins (before there is a device/request_queue).
> Should we just keep it in the driver, or could the request queue have
> functions pointers so someone could override the block layer tag
> fucntions? What I am also thinking is that instead of passing the block
> layer request_queue (with the queue always allocating and setting the
> map) as an argument, it might be possible to make the tag functions
> some-new-map-structure based.
That's the tag model. Once TCQ is turned on, all tasks must be tagged,
even in SPI.
I don't quite understand why you need to override the block tag
functions, or why you want to operate without a request queue. Even for
device probing in SCSI, we allocate a request queue, send the INQUIRY,
find there's nothing there and destroy the queue again.
The whole of SCSI is designed to operate with request structures backing
tasks; if you have to worry about this not being true, you'll generate a
maze of special cases in the driver.
> Bascially, the host could allocate this map and it could be initialized
> to have start_tag/end_tag functions that are possibly transport specific
> (iSCSI has some magic tag values, but I do not know about spi or fc).
> this way if it needed to allocate tags before a queue is present (for
> logins for iscsi's case) then it could do so (this also means the tag
> must have some new structure becuase for normal populate_msg usage the
> msg is dependant on request properties). Then when blk_init_queue is
> finally called it can inherit the existing map structure with its
> function pointers.
Tell me more about the magic tags. We don't have a way to single them
out currently, but that could be easily added by just marking them
occupied in the bitmap.
James
next prev parent reply other threads:[~2004-07-13 20:21 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-12 14:05 PATCH [3/5] qla2xxx: TCQ fixes Andrew Vasquez
2004-07-12 21:41 ` James Bottomley
2004-07-13 0:19 ` Mike Christie
2004-07-13 2:28 ` Brian King
2004-07-13 14:29 ` James Bottomley
2004-07-13 14:27 ` James Bottomley
2004-07-13 19:04 ` [linux-iscsi-devel] " Mike Christie
2004-07-13 20:20 ` James Bottomley [this message]
2004-07-13 21:01 ` Mike Christie
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=1089750044.1798.156.camel@mulgrave \
--to=james.bottomley@steeleye.com \
--cc=andrew.vasquez@qlogic.com \
--cc=krmurthy@cisco.com \
--cc=linux-iscsi-devel@lists.sourceforge.net \
--cc=linux-scsi@vger.kernel.org \
--cc=mikenc@us.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox