public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
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?


  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