tech-kern archive

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

Re: vwakeup: neg numoutput



On Wed, Jul 02, 2008 at 02:04:11PM +0000, Andrew Doran wrote:
> On Tue, Jul 01, 2008 at 02:10:39PM +0200, Manuel Bouyer wrote:
> 
> > vfs_subr2.c has another place which makes me believe we can't use atomic ops
> > alone to incement v_numoutput:
> > 315: KASSERT(vp->v_numoutput == 0 && LIST_EMPTY(&vp->v_dirtyblkhd)); 
> > if we can increment v_numoutput without hodling the lock, this KASSERT may
> > fire because v_numoutput may be non-zero here after the VOP_FSYNC().
> 
> That assertion's broken because the vnode pager can start writes even if
> another thread holds the vnode locked.

OK, so it should be removed I guess ?

Do you think using atomic ops to for v_numoutput can work, then ?

-- 
Manuel Bouyer, LIP6, Universite Paris VI.           
Manuel.Bouyer%lip6.fr@localhost
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index