On Thu, Jul 20 2006, Jeff Garzik wrote:James Bottomley wrote:On Thu, 2006-07-20 at 17:27 -0400, Jeff Garzik wrote:Not for the case being discussed in this thread, adapter-wide tags.Since _no individual SCSI driver_ uses the block layerThat's not quite true: 53c700 and tmscsim both use it ... I could with
tagging, it is likely that some instability and core kernel
development
will occur, in order to make that work.
the usage were wider, but at least 53c700 has pretty regular and
constant usage ... enough I think to validate the block tag code (it's
been using it for the last three years).
That just means the map is shared, otherwise there should be little if
any difference.
AFAICS, no file in include/scsi/* or drivers/scsi/* ever calls blk_queue_init_tags() with a non-NULL third arg.
grpe again, it's in scsi_tcq.h.
[jgarzik@pretzel linux-2.6]$ grep -r blk_queue_init_tags *
block/ll_rw_blk.c: * blk_queue_init_tags - initialize the queue tag info
block/ll_rw_blk.c:int blk_queue_init_tags(request_queue_t *q, int depth,
block/ll_rw_blk.c:EXPORT_SYMBOL(blk_queue_init_tags);
Documentation/block/biodoc.txt: blk_queue_init_tags(request_queue_t *q, int depth)
include/linux/blkdev.h:extern int blk_queue_init_tags(request_queue_t *, int, struct blk_queue_tag *);
include/scsi/scsi_tcq.h: blk_queue_init_tags(sdev->request_queue, depth, NULL);