2003-03-04 18:08:18

by Mathias Kretschmer

[permalink] [raw]
Subject: IDE DVD reading & error handling

Hello,

Is there a way to optimize the IDE layer to handle DVD
read errors more gracefully ?

Most used DVDs (borrowed from a local library, etc.) seem to have some
defects. Those cause the IDE layer to get stuck for quite a while,
interrupting the movie playback. It might be better to just return an
error for that sector and let the player software continue.

I wonder if it would be possible to tune the IDE layer by i.e.
reducing the number of retries and disabling the controller reset, etc.

I haven't fiddle with the below numbers, yet. Just wondering if that
could improve the situation, or if there are any other tricks that one
could play here ?

/*
* Probably not wise to fiddle with these
*/
#define ERROR_MAX 8 /* Max read/write errors per sector */
#define ERROR_RESET 3 /* Reset controller every 4th retry */
#define ERROR_RECAL 1 /* Recalibrate every 2nd retry */

Cheers,

Mathias

PS: Also which DVD ROM do people recommended in general ?
Which one seems to have a decent error correction scheme
not just a high read speed?


2003-03-04 21:44:07

by Alan

[permalink] [raw]
Subject: Re: IDE DVD reading & error handling

On Tue, 2003-03-04 at 18:20, Mathias Kretschmer wrote:
> Is there a way to optimize the IDE layer to handle DVD
> read errors more gracefully ?

I think its perfectly doable to set the maximum retries per
device. Have a look at the current ide_error() and the error: handler
in the relevant ide drivers (notably ide-cd).

> I wonder if it would be possible to tune the IDE layer by i.e.
> reducing the number of retries and disabling the controller reset, etc.

A lot of the time you have to go through the controller reset. However
cutting the retries down and having good readahead management on the
I/O thread ought to still cope with that.

As to drives I'm using a mix of drives. Old 1x and 2x speed DVD drives
are very cheap so its a good way to get multiple regions cheaply, and
saves breaking the DMCA in the US 8)

2003-03-04 22:43:43

by Mathias Kretschmer

[permalink] [raw]
Subject: Re: IDE DVD reading & error handling

> I think its perfectly doable to set the maximum retries per
> device. Have a look at the current ide_error() and the error: handler
> in the relevant ide drivers (notably ide-cd).
>
>
>>I wonder if it would be possible to tune the IDE layer by i.e.
>>reducing the number of retries and disabling the controller reset, etc.
>
>
> A lot of the time you have to go through the controller reset. However
> cutting the retries down and having good readahead management on the
> I/O thread ought to still cope with that.

that's what I'm hoping for :)

Would it also be possible/make sense to never switch from DMA to PIO
mode since those DVD read errors are most likely not a DMA problem ?