Re: Problems with the block-layer timeouts

From: Mike Anderson
Date: Sun Nov 02 2008 - 15:36:00 EST


Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> I spent most of the day yesterday debugging some tricky problems in the
> new block-layer timeout scheme. Clearly it is in need of more work.
>
> A major reason for these problems was that there doesn't seem to be a
> clear a idea of when the timeout period should begin. In
> blk_add_timer() a comment says:

> How should this be fixed? It would help to call scsi_dev_queue_ready()
> before elv_next_request(), but that's not sufficient.
> scsi_times_out() needs to recognize that a timeout for a non-running
> request can be handled by directly returning BLK_EH_HANDLED. Right?
>
>

Tejun described a similar issue here.
http://thread.gmane.org/gmane.linux.ide/35603

And a fix to address the issue here.
http://thread.gmane.org/gmane.linux.ide/35725

Does the patch posted by Tejun address your issue?

> While I'm on the subject, there are a few related items that could be
> improved. In my tests, I was generating I/O requests simply by doing
>
> dd if=/dev/sda ...
>
> I don't know where the timeouts for these requests are determined, but
> they were set to 60 seconds. That seems much too long.
>

It is set by a udev rule and the value is historical.
http://thread.gmane.org/gmane.linux.scsi/45631/focus=45646


-andmike
--
Michael Anderson
andmike@xxxxxxxxxxxxxxxxxx
--
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/