Subject: Re: bufcache cancer in -current?
To: Sean Doran <smd@ebone.net>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: current-users
Date: 05/24/2000 15:54:04
On Wed, May 24, 2000 at 08:15:27PM +0200, Sean Doran wrote:
> 
> However, the queue is full, there is still the current problem that
> there is a bad write to the affected disk; in this case the
> first one happened during "make obj" and the second happened
> during the creation of a normal file.  The system wasn't happy
> at all about the bad directly; the bad file was merely corrupted.

I think there's a problem somewhere in the driver that causes it to confuse
the SCB for which an error occurs with some other SCB -- that is, effectively,
their data gets swapped.  Frank and I saw this cause the driver to repeatedly
think a target was rejecting tags when actually it had rejected wide transfers
in an earlier command.  But I haven't found the mechanism by which this occurs
yet (and don't have time to look too hard); I think Frank's looking.

Changing from the current policy to "do !B_ASYNC I/O with ordered tags" will
minimize "queue full" problems by periodically forcing all outstanding simple
tags to complete (ordered tags are a barrier), but that's not the whole
problem here, obviously.

Thor