Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jan 2003 07:09:35 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        phk@freebsd.org
Cc:        current@freebsd.org
Subject:   Re: specfs lock plumbing broken 
Message-ID:  <20030106065245.O345-100000@gamplex.bde.org>
In-Reply-To: <9630.1041792715@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 5 Jan 2003 phk@freebsd.org wrote:

> In message <20030106050703.N401-100000@gamplex.bde.org>, Bruce Evans writes:
> >On Sun, 5 Jan 2003 phk@freebsd.org wrote:
> >> This is not tested with DEVFS I take it ?
> >
> >It doesn't affect devfs because devfs doesn't go through ufs.  It goes
> >straight to the default vnodeop table so it gets std* since it doesn't
> >override them.
>
> Uhm, no.  DEVFS only goes to the default vector for directories, for
> devices it goes to spec_vnoperate.

Hmm, that means that the spec_vnoperate() overrides actually worked,
so devfs has never had locking and fixing specfs might break devfs
:-).  But devfs didn't have the bug either.  This is presumably ufs
stays out of its way in another way: it doesn't use ffs_vget(), so the
vnode is not bogusly locked initially.

> >I'm getting some other panics.  One while writing this was
> >"bwrite: buffer is not busy???".
>
> Yes, I'm hunting that one atm, but havn't found a way to reproduce.
>
> Did you get any complaints about the wrong strategy for the wrong
> type of node before this panic ?

I didn't notice one for that, but there is a panic for running wine which
seems to be easy to reproduce and the message occurred just before that
for at least the second of 2 panics in 2 attempts to run wine here.  It
was something simple involving vop_stdgetpages ...-> ffsext_strategy ...
ffs presumably avoids this path by having a specialized getpages.

> Do you have DEBUG_VFS_LOCKS in your kernel ?

No.  Also no INVARIANTS and the like.  A profiling kernel (with profiling
not running) seemed to panic faster.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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