Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jun 2012 14:26:01 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Luca Pizzamiglio <l.pizzamiglio@bally-wulff.de>
Cc:        x11@freebsd.org
Subject:   Re: Intel KMS: a memory problem
Message-ID:  <20120613112601.GS2337@deviant.kiev.zoral.com.ua>
In-Reply-To: <4FD86E13.6090202@bally-wulff.de>
References:  <4FD86E13.6090202@bally-wulff.de>

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

--gh9b96O0vZdbsJLX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 13, 2012 at 12:40:19PM +0200, Luca Pizzamiglio wrote:
> Hi people,
>=20
> I'm using 9-RELENG with KMS and the last port updated on a SandyBridge=20
> platform (Intel Graphics)
> With a quite simple openGL application, a panic occurred:
>=20
> panic: pmap_mapdev: Couldn't alloc kernel virtual memory
> Tracing pid 944 tid 100105 td 0xca85c8a0
> kdb_enter(c0ffe535,c0ffe535,c103dcff,efa62ac0,1,...) at kdb_enter+0x3a
> panic(c103dcff,5000,c9879151,0,c1a02000,...) at panic+0x18c
> pmap_mapdev_attr(c1a02000,4800,1,1,c911d980,...) at pmap_mapdev_attr+0x7e
> i915_gem_obj_io(2d014008,0,4800,0,0,...) at i915_gem_obj_io+0x513
> i915_gem_pwrite_ioctl(c9925800,ca827120,ca871300,c0a78b5b,efa62bd4,...)=
=20
> at i915_gem_pwrite_ioctl+0x4b
> drm_ioctl(c97e0400,8020645d,ca827120,3,ca85c8a0,...) at drm_ioctl+0x2d8
> devfs_ioctl_f(c91cb850,8020645d,ca827120,c91b5e80,ca85c8a0,...) at=20
> devfs_ioctl_f+0x10a
> kern_ioctl(ca85c8a0,4,8020645d,ca827120,a62ccc,...) at kern_ioctl+0x2a0
> sys_ioctl(ca85c8a0,efa62ccc,c67c4c80,293d3b4e,1,...) at sys_ioctl+0x134
> syscall(efa62d08) at syscall+0x34a
> Xint0x80_syscall() at Xint0x80_syscall+0x21
> --- syscall (54, FreeBSD ELF32, sys_ioctl), eip =3D 0x293d5b93, esp =3D=
=20
> 0xbfbf7f4c, ebp =3D 0xbfbf7f68 ---
>=20
> I tried to increase vm.kmem_size and vm.kmem_size_max to 512M, but the=20
> problem persists.
>=20
> Any easy idea or workaround?
> In the meanwhile, I'll try to investigate this problem deeper.

You are probably first who run 32bit kernel on SandyBridge + GEMified
i915 driver.

=46rom the trace you provided it seems that kernel was unable to find
a free area in KVA for 5 consequtive pages. I would think that you have
relatively high fragmentation of KVA. What load on machine is ?

Actually, quite some time ago, i915_gem_gtt_write() did mapped gtt
page by page, instead of mapping the whole range of pages undergoing i/o.
I was pointed out that this was major performance bootleneck for GTT
mapped objects. It might be reasonable to restore the slow mode for
32bit kernels, since people running such kernels on SandyBridge definitely
do not care about performance.

--gh9b96O0vZdbsJLX
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (FreeBSD)

iEYEARECAAYFAk/YeMkACgkQC3+MBN1Mb4hITgCfdcYO6gHEM7FLZBLo2uAWmhn+
qEgAoL11dOqS9fZ1FZUzoxx6MVPxpwi2
=SNYC
-----END PGP SIGNATURE-----

--gh9b96O0vZdbsJLX--



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