On 22-May-01 Bob Bishop wrote:
> Hi,
> I've seem to have the swap-related variety of this one:
> panic: mutex vm not owned at ../../vm/vm_page.h:328
> ...from a kernel cvsup approx 0300 GMT on Sunday.
> But I'm surprised. This box has 128MB and will rarely swap building world
> (which is what it was doing). The only other oddity is that it had just had
> a brief "not responding...alive again" episode with the NFS server dishing
> up sources.
> Anyway, here's the abridged backtrace from DDB:
> panic()
> _mtx_assert()
> swp_pager_async_iodone()
> bufdone()
> bufdonebio()
> ad_interrupt()
> ata_intr()
> ithread_loop()
> fork_exit()
> fork_trampoline()
> I'll keep the box in DDB for a bit in case anyone wants more info, so dmesg
> not available right now but it's a pretty unremarkable configuration
> running GENERIC.

The problem here is that swp_pager_*_iodone don't need to assume that the
vm_mtx is held when they are called, but need to get it themselves since they
are used as bio_done methods in struct bio.  I've got this fixed in some
untested patches on my laptop.  I need to finish my first pass over the
original commit and start testing things before I commit too much though.


John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to