Re: [PATCH scsi-misc-2.6 01/13] scsi: don't useblk_insert_request() for requeueing

From: James Bottomley
Date: Thu Mar 31 2005 - 12:56:16 EST


On Thu, 2005-03-31 at 18:07 +0900, Tejun Heo wrote:
> 01_scsi_no_REQ_SPECIAL_on_requeue.patch
>
> blk_insert_request() has 'reinsert' argument, which, when set,
> turns on REQ_SPECIAL and REQ_SOFTBARRIER and requeues the
> request. SCSI midlayer was the only user of this feature and
> all requeued requests become special requests defeating
> quiesce state. This patch makes scsi midlayer use
> blk_requeue_request() for requeueing and removes 'reinsert'
> feature from blk_insert_request().

Well, REQ_SPECIAL is the signal to the mid-layer that we've allocated
the resources necessary to process the command, so in practice it will
be turned on for every requeue request (because we set it when the
command is prepared), so this patch would have no effect on your stated
quiesce problem. However, if you think about how requests work with
head insertion and one command following another, there's really not a
huge problem here either.

The other reason I don't like this is that we've been trying hard to
sweep excess block knowledge out of the mid-layer. I don't think
REQ_SOFTBARRIER is anything we really have to know about.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/