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 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. It's not a
problem in 5.0.


Home | Main Index | Thread Index | Old Index