From owner-freebsd-acpi@FreeBSD.ORG Fri Sep 13 01:23:53 2013 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 05A5B3DA; Fri, 13 Sep 2013 01:23:53 +0000 (UTC) (envelope-from fbsd@opal.com) Received: from mho-01-ewr.mailhop.org (mho-03-ewr.mailhop.org [204.13.248.66]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C8D922C43; Fri, 13 Sep 2013 01:23:52 +0000 (UTC) Received: from pool-96-233-20-106.bstnma.east.verizon.net ([96.233.20.106] helo=homobox.opal.com) by mho-01-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1VKI6w-000EmP-Ee; Fri, 13 Sep 2013 01:23:50 +0000 Received: from shibato (shibato.opal.com [IPv6:2001:470:8cb8:4:221:63ff:fe5a:c9a7]) (authenticated bits=0) by homobox.opal.com (8.14.4/8.14.4) with ESMTP id r8D1Nlo5051133 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Thu, 12 Sep 2013 21:23:47 -0400 (EDT) (envelope-from fbsd@opal.com) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 96.233.20.106 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX19Hf2gtU3/AWfXDQgZLi6oy Date: Thu, 12 Sep 2013 21:23:39 -0400 From: "J.R. Oldroyd" To: John Baldwin Subject: Re: panic after acpi suspend/resume 9.1, 9.2rc3 Message-ID: <20130912212339.3b446e73@shibato> In-Reply-To: <201309091654.27160.jhb@freebsd.org> References: <20130908172454.15812086@shibato> <201309091122.30193.jhb@freebsd.org> <20130909145744.63fcba85@shibato> <201309091654.27160.jhb@freebsd.org> X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.6; amd64-portbld-freebsd9.1) Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/91/B65Hd0S1PoDOMY+KL+UI"; protocol="application/pgp-signature" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (homobox.opal.com [IPv6:2001:470:8cb8:4::1]); Thu, 12 Sep 2013 21:23:48 -0400 (EDT) X-Spam-Status: No, score=-1.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_50, RP_MATCHES_RCVD shortcircuit=no autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on homobox.opal.com Cc: freebsd-acpi@freebsd.org X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Sep 2013 01:23:53 -0000 --Sig_/91/B65Hd0S1PoDOMY+KL+UI Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Mon, 9 Sep 2013 16:54:27 -0400 John Baldwin wrote: > > > >=20 > > > > (kgdb) list *0xffffffff80ceddcd > > > > 0xffffffff80ceddcd is in pmap_enter (../../../amd64/amd64/pmap.c:35= 77). > > > > 3572 if ((m->oflags & VPO_UNMANAGED) =3D=3D 0) { > > > > 3573 newpte |=3D PG_MANAGED; > > > > 3574 pv =3D get_pv_entry(pmap, &lock); > > > > 3575 pv->pv_va =3D va; > > > > 3576 CHANGE_PV_LIST_LOCK_TO_PHYS(&lock, pa); > > > > 3577 TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_li= st); > > > > 3578 if ((newpte & PG_RW) !=3D 0) > > > > 3579 vm_page_aflag_set(m, PGA_WRITEABLE); > > > > 3580 } > > > > 3581 > > >=20 > > > So it seems like pv_list of a page might be busted? Can you try look= ing at > > > the disassembly to see if you can find 'm' in one of the registers? > > >=20 > >=20 > > Sure, here you go... > >=20 > > (kgdb) print m > > $1 =3D 0xfffffe00b260b430 > > (kgdb) print m->md.pv_list > > $4 =3D {tqh_first =3D 0x0, tqh_last =3D 0x0} >=20 > Eh, tqh_last shouldn't bmd.pv_liste NULL here IIRC. I think it should po= int at > &tqh_first. >=20 I had a quick look at the code for this list. md.pv_list is initialized in pmap_page_init() and there's also a similar piece of init in pmap_init(), both in sys/amd64/amd64/pmap.c and also in the other arch's. But I have little background on how the VM code is supposed to be initialized or saved on suspend and re-inited on resume. It'd take me ages to work out what should be going on here. What's the best course of action here...? Open a PR and hand-over to someone with more background in these areas? -jr --Sig_/91/B65Hd0S1PoDOMY+KL+UI Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlIyaSMACgkQls33urr0k4ls0QCfSUJTi9q9e/wQ75c1/O/zIZ7z X/UAni1PblYvBGhADL10hR6VSX8Vjif1 =0zVN -----END PGP SIGNATURE----- --Sig_/91/B65Hd0S1PoDOMY+KL+UI--