Summary: | Heavy MGA DRI use causes Xorg lock | ||
---|---|---|---|
Product: | Mesa | Reporter: | Oleg Sapon <xsov> |
Component: | Drivers/DRI/MGA | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED WONTFIX | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | xsov |
Version: | 6.5 | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Oleg Sapon
2007-02-13 19:25:21 UTC
Same problem with latest software: - Xorg 7.2 - mga_drv 1.4.6.1 - Mesa 6.5.2 - kernel 2.6.20 - Matrox card BIOS - latest I tried to disable buggy for me COMPOSITE extension, bug still exist. Tried latest drm from freedesktop.org git reposotory and disabled preemption in kernel, still no results. P.S. Does someone read my messages or this bug list is dead? Seriously. (In reply to comment #2) > Tried latest drm from freedesktop.org git reposotory and disabled preemption in > kernel, still no results. What AGP mode are you using? I know that there are some buggy interactions between MGA and certain Via chipsets. Have you tried 1x? > P.S. Does someone read my messages or this bug list is dead? Seriously. Yes, sorry. I just haven't had a chance to dig into it yet. > What AGP mode are you using? I know that there are some buggy interactions
between MGA and certain Via chipsets. Have you tried 1x?
Moreover, i've tried next configuration:
- no matroxfb;
- no mga_vid;
- no i2c;
- no preemption;
- no options for section "Device" in /etc/X11/xorg.conf except "AGPMode" "1" and "DRI" "True";
- disabled AIGLX and Composite extension.
I've checked that all options is setted via dmesg and Xorg.log.
Bug still here :(
I've tried to debug and got 332Mb file, i see this in the end of it, repeating many times:
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] ret = fffffff0
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x6442, nr=0x42, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_do_dma_reset]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_dma_flush] flush, idle,
Mar 15 04:44:32 mmx kernel: [drm:mga_do_wait_for_idle]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] ret = fffffff0
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_dma_flush] idle,
Mar 15 04:44:32 mmx kernel: [drm:mga_do_wait_for_idle]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] ret = fffffff0
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x6442, nr=0x42, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_do_dma_reset]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_dma_flush] flush, idle,
Mar 15 04:44:32 mmx kernel: [drm:mga_do_wait_for_idle]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] ret = fffffff0
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_dma_flush] idle,
Mar 15 04:44:32 mmx kernel: [drm:mga_do_wait_for_idle]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] ret = fffffff0
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x6442, nr=0x42, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_do_dma_reset]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1
Mar 15 04:44:32 mmx kernel: [drm:mga_dma_flush] flush, idle,
Mar 15 04:44:32 mmx kernel: [drm:mga_do_wait_for_idle]
Mar 15 04:44:32 mmx kernel: [drm:drm_ioctl] ret = fffffff0
This how log was changed prior to that cicle. Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0xc0286429, nr=0x29, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] tail=0x0fd174 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] head=0x0fd0dc 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] returning NULL! Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] ret = fffffff5 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0xc0286429, nr=0x29, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] tail=0x0fd174 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] head=0x0fd0dc 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] returning NULL! Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] ret = fffffff5 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:42:38 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:42:38 mmx kernel: [drm:drm_lock] 1 interrupted Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] ret = fffffe00 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:drm_lock] 1 (pid 1031) requests lock (0xc0000003), flags = 0x00000000 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:42:38 mmx kernel: [drm:mga_do_wait_for_idle] ... Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:42:41 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:42:41 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:42:41 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:42:41 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:42:41 mmx kernel: [drm:drm_lock] 1 interrupted Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] ret = fffffe00 Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 Mar 15 04:42:41 mmx kernel: [drm:drm_lock] 1 (pid 1031) requests lock (0xc0000003), flags = 0x00000000 Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:42:41 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:42:41 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:42:41 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:42:41 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:42:41 mmx kernel: [drm:mga_do_wait_for_idle] ... Mar 15 04:43:03 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:03 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:43:03 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:03 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:43:03 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:03 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:43:03 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:03 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:43:03 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:03 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:43:03 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:03 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:43:03 mmx kernel: [drm:drm_vm_close] 0xb3cb5000,0x00800000 Mar 15 04:43:03 mmx kernel: [drm:drm_vm_close] 0xb44b5000,0x002fb000 Mar 15 04:43:03 mmx kernel: [drm:drm_vm_close] 0xb47b0000,0x02000000 Mar 15 04:43:03 mmx kernel: [drm:drm_vm_shm_close] 0xb7e73000,0x00002000 Mar 15 04:43:03 mmx kernel: [drm:drm_release] open_count = 2 Mar 15 04:43:03 mmx kernel: [drm:drm_release] pid = 1139, device = 0xe200, open_count = 2 Mar 15 04:43:03 mmx kernel: [drm:drm_fasync] fd = -1, device = 0xe200 Mar 15 04:43:03 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:03 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:43:03 mmx kernel: [drm:mga_do_wait_for_idle] ... Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:22 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:43:22 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:22 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:43:22 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:22 mmx kernel: [drm:mga_dma_flush] idle, Mar 15 04:43:22 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x6442, nr=0x42, dev 0xe200, auth=1 Mar 15 04:43:22 mmx kernel: [drm:mga_do_dma_reset] Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:22 mmx kernel: [drm:mga_dma_flush] flush, idle, Mar 15 04:43:22 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] pid=1031, cmd=0x40086441, nr=0x41, dev 0xe200, auth=1 Mar 15 04:43:22 mmx kernel: [drm:mga_dma_flush] idle, Mar 15 04:43:22 mmx kernel: [drm:mga_do_wait_for_idle] Mar 15 04:43:22 mmx kernel: [drm:drm_ioctl] ret = fffffff0 Prior to all last writed here log messages there was: Mar 15 04:42:38 mmx kernel: [drm:mga_dma_dispatch_vertex] vertex: buf=38 used=840 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_put] age=0x0078b4 wrap=205 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0xc0286429, nr=0x29, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] tail=0x0fcfbc 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] head=0x0fd0dc 205 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x400c6445, nr=0x45, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_dma_dispatch_vertex] vertex: buf=39 used=3120 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_put] age=0x007a1c wrap=205 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0xc0286429, nr=0x29, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] tail=0x0fd05c 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] head=0x0fd0dc 205 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0x400c6445, nr=0x45, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_dma_dispatch_vertex] vertex: buf=40 used=5040 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_put] age=0x007b84 wrap=205 Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] pid=1135, cmd=0xc0286429, nr=0x29, dev 0xe200, auth=1 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] tail=0x0fd174 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] head=0x0fd0dc 205 Mar 15 04:42:38 mmx kernel: [drm:mga_freelist_get] returning NULL! Mar 15 04:42:38 mmx kernel: [drm:drm_ioctl] ret = fffffff5 (In reply to comment #3) > What AGP mode are you using? I know that there are some buggy interactions > between MGA and certain Via chipsets. Have you tried 1x? Yes, even in 1x mode bug appear. I incorrectly post some drm debug logs here: https://bugs.freedesktop.org/show_bug.cgi?id=9969 Sorry for that. The MGA driver longer exists in Mesa. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.