Messages in this thread | | | From | Neil Brown <> | Date | Thu, 6 Dec 2007 10:14:47 +1100 | Subject | Re: Is BIO_RW_FAILFAST really usable? |
| |
On Tuesday December 4, jens.axboe@oracle.com 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
| |