kern/161887: [vm] [panic] panic at vm_page_wire with FreeBSD 9.0 Beta 3 [regression]

Andriy Gapon avg at FreeBSD.org
Sun Oct 30 17:10:09 UTC 2011


The following reply was made to PR kern/161887; it has been noted by GNATS.

From: Andriy Gapon <avg at FreeBSD.org>
To: Penta Upa <bsdboot at gmail.com>
Cc: bug-followup at FreeBSD.org
Subject: Re: kern/161887: [vm] [panic] panic at vm_page_wire with FreeBSD
 9.0 Beta 3 [regression]
Date: Sun, 30 Oct 2011 19:00:28 +0200

 on 30/10/2011 18:17 Penta Upa said the following:
 > 
 > 
 > On Sun, Oct 30, 2011 at 4:01 PM, Andriy Gapon <avg at freebsd.org
 > <mailto:avg at freebsd.org>> wrote:
 > 
 > 
 >     Do you build your test module as a part of a kernel+modules build or do you
 >     build it in isolation?  If the latter, then this could be a known obscure
 >     problem.
 > 
 > External. For example built in /home/penta/vmtest
 > 
 >  
 > 
 >     A standalone module build doesn't get some important definitions from kernel
 >     config (e.g. via  opt_global.h) and can be in a serious disagreement with the
 >     kernel.  In particular, if a kernel is built with SMP option, but a module build
 >     doesn't have SMP defined, then they will have different definitions of
 >     PA_LOCK_COUNT and thus would work on different actual locks when manipulating
 >     the same page.
 > 
 > Ok and it seems like they are operating on different locks then.
 > vm_page_assert() succeeds in the module but immediately fails in vm_page_wire().
 > But then isn't vm_page_wire/unwire() and exported kernel api (i assumed it is
 > since there is a man page entry), so shouldn't it succeed irrespective of the
 > kernel config and irrespective of the location of the build.
 
 You described how things should be and I described how they are at the moment.
 
 
 -- 
 Andriy Gapon


More information about the freebsd-bugs mailing list