Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Jul 2009 19:30:06 -0500
From:      Robert Noland <rnoland@FreeBSD.org>
To:        albri <galbrig@googlemail.com>
Cc:        freebsd-x11@freebsd.org
Subject:   Re: 8.0 beta2 (patched) - drm_bufs.c: system freeze
Message-ID:  <1249086606.1775.11.camel@balrog.2hip.net>
In-Reply-To: <4a73541c.0c0db80a.214d.ffff9b89@mx.google.com>
References:  <4a73541c.0c0db80a.214d.ffff9b89@mx.google.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2009-07-31 at 22:29 +0200, albri wrote:
> hello list,
> here is an information what does not function on one system:
> a patched drm with rnoland's patch drm-nouveau-043009.patch and a daily fresh xf86-video-nouveau causes system to freeze. there was written no coredump and no Xorg.o.log, just a freeze. the only info gotten is written to log/messages.
> kernel is GENERIC with amd64. graphic card is IGP.
> just for your information in wish it is helpful.

So, I had someone else report this today... I'm not sure how or why this
hasn't showed up more... It is a WITNESS panic which is already fixed in
the later patch.  If you edit /usr/src/sys/dev/drm/nouveau_mem.c and
search for the line containing drm_sg_alloc().  Place the DRM_UNLOCK();
and DRM_LOCK(); around that call it should get things going.  See below.

@@ -27288,7 +27262,9 @@
 +              DRM_DEBUG("Allocating sg memory for PCI DMA\n");
 +              sgreq.size = 16 << 20; //16MB of PCI scatter-gather zone
 +
++              DRM_UNLOCK();
 +              ret = drm_sg_alloc(dev, &sgreq);
++              DRM_LOCK();
 +              if (ret) {
 +                      DRM_ERROR("Unable to allocate %ldMB of
scatter-gather"
 +                                " pages for PCI DMA!",sgreq.size>>20);

robert.

> best regards
> 
> kern.ostype: FreeBSD
> kern.osrelease: 8.0-BETA2
> kern.osrevision: 199506
> kern.osreldate: 800106
> 
> # cat messages | grep -ie "nouve\|drm"
> Jul 30 02:27:07 xxx kernel: drm0: <NVidia Display Adapter> on vgapci0
> Jul 30 02:27:07 xxx kernel: info: [drm] MSI enabled 1 message(s)
> Jul 30 02:27:07 xxx kernel: info: [drm] Detected an NV44 generation card (0x04e000a2)
> Jul 30 02:27:07 xxx kernel: vgapci0: child drm0 requested pci_enable_busmaster
> Jul 30 02:27:07 xxx kernel: info: [drm] Initialized nouveau 0.0.12 20060213
> Jul 30 02:27:48 xxx kernel: error: [drm:pid1979:drm_alloc_resource] *ERROR* Couldn't find resource 0x2
> Jul 30 02:29:19 xxx kernel: exclusive sleep mutex drmdev (drmdev) r = 0 (0xffffff00112a20a0) locked @ /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_bufs.c:55
> Jul 30 02:29:19 xxx kernel: drm_sg_alloc() at drm_sg_alloc+0x4b
> Jul 30 02:29:19 xxx kernel: nouveau_mem_init() at nouveau_mem_init+0x4f3
> Jul 30 02:29:19 xxx kernel: nouveau_card_init() at nouveau_card_init+0x7c5
> Jul 30 02:29:19 xxx kernel: nouveau_ioctl_card_init() at nouveau_ioctl_card_init+0x9
> Jul 30 02:29:19 xxx kernel: drm_ioctl() at drm_ioctl+0x314
> Jul 30 02:29:19 xxx kernel: panic: _mtx_lock_sleep: recursed on non-recursive mutex drmdev @ /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_scatter.c:123
> Jul 30 22:14:54 xxx kernel: drm0: <NVidia Display Adapter> on vgapci0
> Jul 30 22:14:54 xxx kernel: info: [drm] MSI enabled 1 message(s)
> Jul 30 22:14:54 xxx kernel: info: [drm] Detected an NV44 generation card (0x04e000a2)
> Jul 30 22:14:54 xxx kernel: vgapci0: child drm0 requested pci_enable_busmaster
> Jul 30 22:14:54 xxx kernel: info: [drm] Initialized nouveau 0.0.12 20060213
> Jul 31 09:16:27 xxx kernel: drm0: <NVidia Display Adapter> on vgapci0
> Jul 31 09:16:27 xxx kernel: info: [drm] MSI enabled 1 message(s)
> Jul 31 09:16:27 xxx kernel: info: [drm] Detected an NV44 generation card (0x04e000a2)
> Jul 31 09:16:27 xxx kernel: vgapci0: child drm0 requested pci_enable_busmaster
> Jul 31 09:16:27 xxx kernel: info: [drm] Initialized nouveau 0.0.12 20060213
> Jul 31 09:19:34 xxx kernel: error: [drm:pid17956:drm_alloc_resource] *ERROR* Couldn't find resource 0x2
> Jul 31 09:19:34 xxx kernel: exclusive sleep mutex drmdev (drmdev) r = 0 (0xffffff00269ae0a0) locked @ /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_bufs.c:55
> Jul 31 09:19:34 xxx kernel: drm_sg_alloc() at drm_sg_alloc+0x4b
> Jul 31 09:19:34 xxx kernel: nouveau_mem_init() at nouveau_mem_init+0x4f3
> Jul 31 09:19:34 xxx kernel: nouveau_card_init() at nouveau_card_init+0x7c5
> Jul 31 09:19:34 xxx kernel: nouveau_ioctl_card_init() at nouveau_ioctl_card_init+0x9
> Jul 31 09:19:34 xxx kernel: drm_ioctl() at drm_ioctl+0x314
> Jul 31 09:19:34 xxx kernel: panic: _mtx_lock_sleep: recursed on non-recursive mutex drmdev @ /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_scatter.c:123
> Jul 31 09:23:29 xxx kernel: drm0: <NVidia Display Adapter> on vgapci0
> Jul 31 09:23:29 xxx kernel: info: [drm] MSI enabled 1 message(s)
> Jul 31 09:23:29 xxx kernel: info: [drm] Detected an NV44 generation card (0x04e000a2)
> Jul 31 09:23:29 xxx kernel: vgapci0: child drm0 requested pci_enable_busmaster
> Jul 31 09:23:29 xxx kernel: info: [drm] Initialized nouveau 0.0.12 20060213
> _______________________________________________
> freebsd-x11@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org"
-- 
Robert Noland <rnoland@FreeBSD.org>
FreeBSD




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