From owner-freebsd-bugs@FreeBSD.ORG Sun Oct 30 16:50:17 2011 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 618A5106564A for ; Sun, 30 Oct 2011 16:50:17 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 45CA28FC0C for ; Sun, 30 Oct 2011 16:50:17 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p9UGoHZr002351 for ; Sun, 30 Oct 2011 16:50:17 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p9UGoHrn002350; Sun, 30 Oct 2011 16:50:17 GMT (envelope-from gnats) Date: Sun, 30 Oct 2011 16:50:17 GMT Message-Id: <201110301650.p9UGoHrn002350@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Penta Upa Cc: Subject: Re: kern/161887: [vm] [panic] panic at vm_page_wire with FreeBSD 9.0 Beta 3 [regression] X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Penta Upa List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Oct 2011 16:50:17 -0000 The following reply was made to PR kern/161887; it has been noted by GNATS. From: Penta Upa To: Andriy Gapon Cc: bug-followup@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 21:47:48 +0530 --90e6ba6e834292b19904b0867651 Content-Type: text/plain; charset=ISO-8859-1 On Sun, Oct 30, 2011 at 4:01 PM, Andriy Gapon 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. Regards, Penta --90e6ba6e834292b19904b0867651 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Sun, Oct 30, 2011 at 4:01 PM, Andriy = Gapon <avg@freebsd.= org> wrote:

Do you build your test module as a part of a kernel+modules build or do you=
build it in isolation? =A0If the latter, then this could be a known obscure= problem.

External. For example built in /home/penta/vmtest
=
=A0
A standalone module build doesn't get some important definitions from k= ernel
config (e.g. via =A0opt_global.h) and can be in a serious disagreement with= the
kernel. =A0In particular, if a kernel is built with SMP option, but a modul= e build
doesn't have SMP defined, then they will have different definitions of<= br> PA_LOCK_COUNT and thus would work on different actual locks when manipulati= ng
the same page.

Ok and it seems like t= hey 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 ma= n page entry), so shouldn't it succeed irrespective of the kernel confi= g and irrespective of the location of the build.

Regards,
Penta
--90e6ba6e834292b19904b0867651--