From owner-freebsd-bugs Tue Mar 4 20:46:48 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id UAA22561 for bugs-outgoing; Tue, 4 Mar 1997 20:46:48 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA22556 for ; Tue, 4 Mar 1997 20:46:45 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.3/8.6.9) id PAA07046; Wed, 5 Mar 1997 15:45:04 +1100 Date: Wed, 5 Mar 1997 15:45:04 +1100 From: Bruce Evans Message-Id: <199703050445.PAA07046@godzilla.zeta.org.au> To: dg@root.com, freebsd-bugs@freefall.freebsd.org Subject: Re: kern/2875: vinvalbuf() clobbers b_vnbufs chain Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > >> Hmmm, the fix seems overly complicated. How about this instead: > > > >Your fix inhibit disk I/O interruption for more long time. If this > >is not a problem, I prefer your fix. > > I don't think it's a problem. The actual delay is fairly low in practice > (probably less than 50us), and letting an interrupt through prior to the 50us is fairly large on a 386, and very large on a P5. Lite2 locks only the B_BUSY test and set here. The whole loop is not locked in any case because of the explicit sleep in the loop and the implicit sleep in VOP_BWRITE(). Sort-of-locking of the whole loop together with the bug was introduced without special comment in rev.1.59. Bruce