Date: Mon, 02 Dec 2002 13:01:43 -0600 From: "Alan L. Cox" <alc@imimic.com> To: Marc Recht <marc@informatik.uni-bremen.de> Cc: current@FreeBSD.ORG, alc@freebsd.org Subject: Re: X11/panic after today's cvsup Message-ID: <3DEBAE17.8DC0A9E7@imimic.com> References: <7310000.1038853912@leeloo.intern.geht.de>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------6ECE68688CC83303D8AAFF2A Content-Type: text/plain; charset=x-user-defined Content-Transfer-Encoding: 7bit Marc Recht wrote: > > Hi! > > After cvsup I got this: > > kernel: recursed on non-recursive lock (sleep mutex) vm page queue mutex @ > ../../../i386/i386/pmap.c:928 > kernel: first acquired @ ../../../vm/vm_map.c:2077 > kernel: panic: recurse > kernel: > kernel: syncing disks, buffers remaining... panic: bremfree: bp 0xd359a250 > not locked > kernel: Uptime: 6m15s > kernel: pfs_vncache_unload(): 3 entries remaining > kernel: Dumping 1535 MB > kernel: ata0: resetting devices .. > > $FreeBSD: src/sys/vm/vm_map.c,v 1.273 2002/12/01 18:57:56 alc Exp $ > $FreeBSD: src/sys/i386/i386/pmap.c,v 1.375 2002/12/02 04:54:21 alc Exp $ > > Regards, > > Marc > > "Premature optimization is the root of all evil." -- Donald E. Knuth Can you say something more about how you produced this? Were you shutting down your X server? In any case, the attached patch should resolve this. Regards, Alan --------------6ECE68688CC83303D8AAFF2A Content-Type: text/plain; charset=x-user-defined; name="pmap.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="pmap.patch" Index: i386/i386/pmap.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/pmap.c,v retrieving revision 1.375 diff -c -r1.375 pmap.c *** i386/i386/pmap.c 2 Dec 2002 04:54:21 -0000 1.375 --- i386/i386/pmap.c 2 Dec 2002 18:50:39 -0000 *************** *** 1213,1219 **** (pmap->pm_ptphint->pindex == ptepindex)) { mpte = pmap->pm_ptphint; } else { ! mpte = pmap_page_lookup(pmap->pm_pteobj, ptepindex); pmap->pm_ptphint = mpte; } } --- 1213,1221 ---- (pmap->pm_ptphint->pindex == ptepindex)) { mpte = pmap->pm_ptphint; } else { ! while ((mpte = vm_page_lookup(pmap->pm_pteobj, ptepindex)) != NULL && ! vm_page_sleep_if_busy(mpte, FALSE, "pulook")) ! vm_page_lock_queues(); pmap->pm_ptphint = mpte; } } --------------6ECE68688CC83303D8AAFF2A-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DEBAE17.8DC0A9E7>