Re: Is BIO_RW_FAILFAST really usable?

From: Neil Brown
Date: Wed Dec 05 2007 - 18:15:04 EST


On Tuesday December 4, jens.axboe@xxxxxxxxxx wrote:
>
> Hrmpf. It looks like the SCSI layer is a little too trigger happy. Any
> chance you could try and trace where this happens?

in scsi_lib.c, in scsi_request_fn, near the top of the main
while (!blk_queue_plugged(q)) {
loop:

if (!scsi_dev_queue_ready(q, sdev)) {
if ((req->cmd_flags & REQ_FAILFAST) &&
!(req->cmd_flags & REQ_PREEMPT)) {
scsi_kill_request(req, q);
continue;
}
break;
}

If I remove the "if failfast and not preempt then kill" logic, my
problem goes away.

NeilBrown
--
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/