[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 24 Jan 2007 17:02:33 -0800
From: "David Somayajulu" <david.somayajulu@...gic.com>
To: "Ed Lin" <ed.lin@...mise.com>, "Michael Reed" <mdr@....com>
Cc: "linux-scsi" <linux-scsi@...r.kernel.org>,
"linux-kernel" <linux-kernel@...r.kernel.org>,
"james.Bottomley" <james.Bottomley@...elEye.com>,
"jeff" <jeff@...zik.org>,
"Promise_Linux" <Promise_Linux@...mise.com>,
"Jens Axboe" <axboe@...nel.dk>
Subject: RE: [patch] scsi: use lock per host instead of per device for shared queue tag host
> It seems another driver(qla4xxx) is also using shared queue tag.
> It is natural to imagine there might be same symptom in that
> driver. But I don't know the driver and have no hardware so I
> can not say anything certain about it.
qla4xxx implements slightly differently, in the sense we don't have the
equivalent of
struct st_ccb ccb[MU_MAX_REQUEST];
which is in struct st_hba. In other words we don't have a local array
which like stex to keep track of the outstanding commands to the hba.
We had a discussion on this one while implementing block-layer tagging
in qla4xxx and Jens Axboe added the test_and_set_bit() in the following
code in blk_queue_start_tag() to take care of it.
do {
tag = find_first_zero_bit(bqt->tag_map, bqt->max_depth);
if (tag >= bqt->max_depth)
return 1;
} while (test_and_set_bit(tag, bqt->tag_map));
Please see the following link for the discussion
http://marc.theaimsgroup.com/?l=linux-scsi&m=115886351206726&w=2
Cheers
David Somayajulu
QLogic Corporation
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists