From: Mike Christie <mikenc@us.ibm.com>
To: James Bottomley <James.Bottomley@SteelEye.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: Tue, 13 Jul 2004 20:04:34 +0100 [thread overview]
Message-ID: <40F43242.1060703@us.ibm.com> (raw)
In-Reply-To: <1089728842.2055.11.camel@mulgrave>
James Bottomley wrote:
> On Mon, 2004-07-12 at 19:19, Mike Christie wrote:
>
>>Depending on the API, we might be able to use it for the linux-iscsi
>>driver. Today the driver uses scsi_activate_tcq(), but does not uses the
>>tag numbers. Instead it uses its own initiator task tags values for
>>session wide identifiers, becuase we need tag values for iscsi ops. For
>>example if we need to send a ping how should we get a tag from the mid
>>layer? Or maybe becuase there are some transport specific tag values
>>should we use someting else or keep it in the driver?
>
>
> The only clean way I can see of doing it is to store the tags map in the
> host structure. That will pretty much require one host per transport
> end point. Is the iSCSI driver moving in that direction?
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.
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.
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.
Or should we just ignore whatever SCSI or the block layer gives us and
keep it in the driver?
next prev parent reply other threads:[~2004-07-13 19:07 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 ` Mike Christie [this message]
2004-07-13 20:20 ` [linux-iscsi-devel] " James Bottomley
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=40F43242.1060703@us.ibm.com \
--to=mikenc@us.ibm.com \
--cc=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 \
/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