tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: vwakeup: neg numoutput
Mark Davies writes:
> On Friday 18 April 2008 20:58:43 Manuel Bouyer wrote:
> > On Fri, Apr 18, 2008 at 02:34:22PM +1200, Mark Davies wrote:
> > > > panic: vwakeup: neg numoutput, vp 0xffffa0000d7a9568
> > > > Stopped in pid 0.4 (system) at netbsd:breakpoint+0x5: leave
> > > > breakpoint() at netbsd:breakpoint+0x5
> > > > panic() at netbsd:panic+0x25b
> > > > vwakeup() at netbsd:vwakeup+0x7c
> > > > biodone2() at netbsd:biodone2+0xaa
> > > > biointr() at netbsd:biointr+0x3c
> > > > softint_thread() at netbsd:softint_thread+0x89
> > >
> > > Did you get a resolution to this?
> > >
> > > I'm seeing the same panic and backtrace on a 4.99.58 xen/i386 dom0
> > > with a single 4.99.58 domU. Happens when I try to copy a large
> > > amount of data over the network from a third machine to the domU.
> >
> > I think I've seen it only once myself.
>
> Its done it to me 4 or 5 times now. Trying to scp or rdist about 7GB
> of /usr/pkg and /usr/local to the domU, it gets about 1 or 2 GB
> transferred then the dom0 panics :-(
In both xbdback_xenbus.c and xbdback.c we have this code:
if ((xbd_io->xio_buf.b_flags & B_READ) == 0)
xbd_io->xio_buf.b_vp->v_numoutput++;
Should this not read:
if ((xbd_io->xio_buf.b_flags & B_READ) == 0) {
mutex_enter(&xbd_io->xio_buf.b_vp->v_interlock);
xbd_io->xio_buf.b_vp->v_numoutput++;
mutex_exit(&xbd_io->xio_buf.b_vp->v_interlock);
}
(or somesuch) to properly update v_numoutput ? Most other changes
to v_numoutput are holding the vp->v_interlock, but if this one is,
I'm completely missing how it's doing it...
(I ran into what I believe is a similar issue in wapbl-land, and I'm
hoping that what I think is the fix for wapbl is applicable in this
case too...)
Later...
Greg Oster
Home |
Main Index |
Thread Index |
Old Index