8.0 beta2 (patched) - drm_bufs.c: system freeze
Robert Noland
rnoland at FreeBSD.org
Sat Aug 1 00:30:16 UTC 2009
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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe at freebsd.org"
--
Robert Noland <rnoland at FreeBSD.org>
FreeBSD
More information about the freebsd-x11
mailing list