On Fri, Feb 08, 2002 at 11:26:19PM +0100, Arnould Nazarian wrote:
> 
> > BTW wether slave blocks are used or not is up to the device driver. Thats
> > why rewriting the IDE device driver would help this problem. Slaveing could
> > still be active for slower devices.
> 
> 
> Now that is the most interesting remark I read for years about slave 
> blocks!! I thought that the mechanism was device driver independant.

it is mostly device independent, however the device driver must 
implement some functionality so it can work.

The big problem with the slaveblock algorithm is that upon a device
read request ALL available memory is searched sequentially to see
whether the sector is already cached somewhere. If it is cached it
is usually found pretty quickly - but if it is not you end up scanning
32 MB (fortunately SMSQ can't access more;) for every single sector to 
be read. It is still *very* surprising that this can take so long, after
all 32MB can cache atmost 65536 sectors and scanning that much should
not be so slow. Even if you scan it sequentially, a decent algorithm 
should not need more than 10 cycles for one compare on a 68040, that 
makes .016384s for one sector read - that would round up to 34/s per MB. 
The worst case I have seen are far worse.

Bye
Richard

Reply via email to