All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <mikenc@us.ibm.com>
To: andrew.vasquez@qlogic.com,
	SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: qla2xxx tcq question/bug
Date: Fri, 09 Jul 2004 16:13:27 -0700	[thread overview]
Message-ID: <40EF2697.20804@us.ibm.com> (raw)

Hi Andrew,

For the qla2xxx driver in 2.6.7 there is this code:

/* Update tagged queuing modifier */
cmd_pkt->control_flags = __constant_cpu_to_le16(CF_SIMPLE_TAG);
if (cmd->device->tagged_supported) {
	switch (cmd->tag) {
		case HEAD_OF_QUEUE_TAG:
			cmd_pkt->control_flags =
			__constant_cpu_to_le16(CF_HEAD_TAG);
			break;
		case ORDERED_QUEUE_TAG:
			cmd_pkt->control_flags =
			__constant_cpu_to_le16(CF_ORDERED_TAG);
			break;
	}
}

but do you know where/how cmd->tag gets set? It looks like it gets
copied from req->tag in the scsi_prep_fn, but for drivers that do not
call scsi_actiavte_tcq that value never gets touched by the block
layer. Even for drivers that do call scsi_activate_tcq, the req->tag
value is just the tag nr, and those drivers will use scsi_populate_msg
to get the task attribute. req->tag gets copied in the prep_fn and
does not get set until after the request_fn has prepared the request so
really cmd->tag looks like it is junk for every case.

Is this usage from 2.4? Should the qla2xx driver be calling
scsi_activate_tcq/scsi_populate_msg for devices that support tags,
or is that a waste becuase you never use the tag number and all you
really want is the attribute?


Thanks,


-- 
Mike Christie
mikenc@us.ibm.com


             reply	other threads:[~2004-07-09 23:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-09 23:13 Mike Christie [this message]
2004-07-09 23:46 ` qla2xxx tcq question/bug Andrew Vasquez
2004-07-09 23:54   ` Andrew Vasquez
2004-07-10  0:12     ` Mike Christie
2004-07-10  2:44     ` James Bottomley
2004-07-11 21:28       ` Guennadi Liakhovetski
2004-07-10  0:05   ` Mike Christie
2004-07-10  1:49     ` Brian King

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=40EF2697.20804@us.ibm.com \
    --to=mikenc@us.ibm.com \
    --cc=andrew.vasquez@qlogic.com \
    --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 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.