Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Apr 2009 12:38:09 -0500
From:      Robert Noland <rnoland@FreeBSD.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        deeptech71@gmail.com, freebsd-current@freebsd.org
Subject:   Re: diagnosing freezes (DRI?)
Message-ID:  <1239903489.2012.5.camel@balrog.2hip.net>
In-Reply-To: <200904161116.58094.jhb@freebsd.org>
References:  <49E6ACEE.6080301@gmail.com> <200904161116.58094.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-Qwbm1mGYkoqbUOoR1n59
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Thu, 2009-04-16 at 11:16 -0400, John Baldwin wrote:
> [ moved to current@ ]
>=20
> On Wednesday 15 April 2009 11:58:38 pm deeptech71@gmail.com wrote:
> > I can reliably (~40%) reproduce a freeze, which I think is related.
> >=20
> > Using the GENERIC debug kernel built from SVN HEAD:
> >=20
> > # cd /usr/obj/usr/src/sys/GENERIC/
> > # kgdb kernel.debug /var/crash/vmcore.0
> > GNU gdb 6.1.1 [FreeBSD]
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and yo=
u are
> > welcome to change it and/or distribute copies of it under certain=20
> > conditions.
> > Type "show copying" to see the conditions.=20
> >=20
> > There is absolutely no warranty for GDB.  Type "show warranty" for=20
> > details.
> > This GDB was configured as "i386-marcel-freebsd"...=20
>=20
> [ snipped lots of stuff ]
>=20
> > Kernel page fault with the following non-sleepable locks held:=20
> >=20
> > exclusive sleep mutex drmdev (drmdev) r =3D 0 (0xc373f860) locked @=20
> > /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_drv.c:777=20
> >=20
> > KDB: stack backtrace:=20
> >=20
> > calltrap() at calltrap+0x6=20
> >=20
> > --- trap 0xc, eip =3D 0xc0b611b6, esp =3D 0xd67d4a98, ebp =3D 0xd67d4b4=
8 ---=20
> >=20
> > slow_copyin(c373f800,c4103300,c42e64e0,d67d4b64,0,...) at=20
> > slow_copyin+0x6
> > radeon_cp_texture(c373f800,c42e64e0,c4103300,309,c0c26218,...) at=20
> > radeon_cp_texture+0x199=20
> >=20
> > drm_ioctl(c39d4e00,c018644e,c42e64e0,3,c40afaf0,...) at drm_ioctl+0x356=
=20
> >=20
>=20
> The drm code is doing a copyin() while holding a mutex (which is not allo=
wed).

Hrm, ok... I'll take a look... There is already a fix in the Intel
driver for a similar case.

robert.

--=20
Robert Noland <rnoland@FreeBSD.org>
FreeBSD

--=-Qwbm1mGYkoqbUOoR1n59
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)

iEYEABECAAYFAknnbQEACgkQM4TrQ4qfROPXsACfZ98GbrQ8b9pnysK44X69oi8V
KucAnj5D1/Yuf3SCSxYL+gUnWW3Xwbv9
=vljF
-----END PGP SIGNATURE-----

--=-Qwbm1mGYkoqbUOoR1n59--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1239903489.2012.5.camel>