tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: assertion "(vp->v_flag & VONWORKLST)" failed: genfs_vnops.c, line 1322



On Mon, May 04, 2009 at 11:49:28AM +0000, Andrew Doran wrote:
> On Sun, May 03, 2009 at 02:26:48PM +0200, Manuel Bouyer wrote:
> 
> > Hi
> > I got this on a netbsd-3 DEBUG kernel:
> > panic: kernel debugging assertion "(vp->v_flag & VONWORKLST)" failed: file 
> > "/dsk/l1/misc/bouyer/netbsd-3-1/src/sys/miscfs/genfs/genfs_vnops.c", line 
> > 1322
> > Stopped in pid 15.1 (pagedaemon) at     netbsd:cpu_Debugger+0x5:        
> > leave
> > db> tr
> > cpu_Debugger() at netbsd:cpu_Debugger+0x5
> > panic() at netbsd:panic+0x1c8
> > __assert() at netbsd:__assert+0x21
> > genfs_putpages() at netbsd:genfs_putpages+0x6e9
> > uvn_put() at netbsd:uvn_put+0x31
> > uvmpd_scan_inactive() at netbsd:uvmpd_scan_inactive+0x2f6
> > uvmpd_scan() at netbsd:uvmpd_scan+0x55
> > uvm_pageout() at netbsd:uvm_pageout+0xe1
> > 
> > any idea if this KDASSERT() here is right ? I've found other reports
> > of this; I suspect this issue may also be present in netbsd-4 because the
> > code path looks very similar. I guess the status of VONWORKLST can change
> > because GOP_WRITE() can block.
> 
> I could be wrong but IIRC softdep can screw this up because it can change
> v_flag from interrupt context and there is no splbio/splx.

there's no filesystem mounted -o softdep on this server. It's compiled in
the kernel though.

> It's not a
> problem in 5.0.

Yes, I've seen the locking in this function is completely different
in 5.0. I'm now testing a 5.0 kernel on this system ...

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index