From owner-freebsd-hackers Sun Jun 29 11:32:17 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id LAA11831 for hackers-outgoing; Sun, 29 Jun 1997 11:32:17 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id LAA11826 for ; Sun, 29 Jun 1997 11:32:10 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.5/8.6.9) id EAA08361; Mon, 30 Jun 1997 04:30:50 +1000 Date: Mon, 30 Jun 1997 04:30:50 +1000 From: Bruce Evans Message-Id: <199706291830.EAA08361@godzilla.zeta.org.au> To: bde@zeta.org.au, Shimon@i-Connect.Net Subject: Re: Clists limited to 1024 bytes? Cc: bmcgover@cisco.com, hackers@FreeBSD.ORG Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >> >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