Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jun 1997 04:30:50 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, Shimon@i-Connect.Net
Cc:        bmcgover@cisco.com, hackers@FreeBSD.ORG
Subject:   Re: Clists limited to 1024 bytes?
Message-ID:  <199706291830.EAA08361@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>> >We experienced a lot of complex problems with SCSI transactions until we
>> >bumped the sio interrupt bufferto double its size.  While performance
>> (on 
>> >the sio ports - we use them only for PPP) did not drop visibly, the
>> strange
>> >incidence of dropping biodone() calls virtually stopped.
>> 
>> This probably just made a race less common.
>
>It would be interesting to actually solve this mystery;  how does a buffer
>overflow in the sio (under PPP) cause biodone to lose a completion.
>We know, with very high degree of certainty, that we do not lose
>interrupts, nor miss a call to scsi_done (which calls biodone, somehow).
>It appears that from scsi_done() up things drop in this case.  Not every
>time.  Nasty...

Logging the error may delay completion for a long time.  Disks shouldn't
be very sensitive to this, but...  Try turning of log() and printf().
I usually do this by temporarily replacing the first byte in the routine
by 0xc3 (ret).

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706291830.EAA08361>