On Sat, 2009-05-09 at 18:41 -0700, David Johnson wrote: > On Friday 08 May 2009 03:31:04 pm Robert Noland wrote: > > In order to guess what might be causing this, drm debugging needs to be > > enabled before the hang, so that we can hopefully figure out what leads > > up to the hung GPU. > > I'm not able to do that, but I did manage to get debug turned on and dmesg > captured early enough to catch some additional information. I've place the > full file online at http://www.usermode.org/misc/dmesg.txt, but am including > some snippets here. Hopefully this is enough to move forward. > > -- > David Johnson
This trace still looks odd... > ... > [drm:pid1822:drm_ioctl] pid=1822, cmd=0xc0286429, nr=0x29, dev 0xc615fa00, > auth=1 > [drm:pid1822:radeon_freelist_get] done_age = 102778 Things appear to be working at this point. > [drm:pid1822:drm_ioctl] pid=1822, cmd=0xc010644d, nr=0x4d, dev 0xc615fa00, > auth=1 > [drm:pid1822:radeon_cp_indirect] idx=27 s=0 e=88 d=1 > [drm:pid1822:radeon_cp_dispatch_indirect] buf=27 s=0x0 e=0x58 Now, open count is 2 and something is calling close. > [drm:pid1822:drm_close] open_count = 2 > [drm:pid1822:drm_close] pid = 1822, device = 0xc615fa00, open_count = 2 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x80086442, nr=0x42, dev 0xc615fa00, > auth=1 > [drm:pid1822:radeon_cp_stop] > [drm:pid1822:radeon_do_cp_flush] > [drm:pid1822:radeon_do_cp_idle] > [drm:pid1822:radeon_do_cp_stop] > [drm:pid1822:radeon_do_engine_reset] > info: [drm] Num pipes: 1 > [drm:pid1822:radeon_do_cp_reset] > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x800c6459, nr=0x59, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x80086414, nr=0x14, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_irq_uninstall] irq=16 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x80546440, nr=0x40, dev 0xc615fa00, > auth=1 > [drm:pid1822:radeon_do_cleanup_cp] > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x80086439, nr=0x39, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_sg_free] sg free virtual = 0xe8a64000 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x8004667e, nr=0x7e, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x8004667d, nr=0x7d, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0xc0086421, nr=0x21, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_rmctx] 2 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0xc0086421, nr=0x21, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_rmctx] 1 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0xc0086426, nr=0x26, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0xc0086426, nr=0x26, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_ioctl] pid=1822, cmd=0x8008642b, nr=0x2b, dev 0xc615fa00, > auth=1 > [drm:pid1822:drm_unlock] 1 (pid 1822) requests unlock (0x80000001), flags = > 0x00000000 Another close, followed by lastclose, so drm is fully shutdown. > [drm:pid1822:drm_close] open_count = 1 > [drm:pid1822:drm_close] pid = 1822, device = 0xc615fa00, open_count = 1 > [drm:pid1822:drm_lastclose] > [drm:pid1822:radeon_do_cleanup_cp] Now, this looks like several vt switches... We don't see the open sequence here, so I assume that debugging was disabled at this point. > info: [drm] Setting GART location based on new memory map > info: [drm] Loading R500 Microcode > info: [drm] Num pipes: 1 > info: [drm] writeback test succeeded in 1 usecs > drm0: [ITHREAD] > info: [drm] Num pipes: 1 > info: [drm] Setting GART location based on new memory map > info: [drm] Loading R500 Microcode > info: [drm] Num pipes: 1 > info: [drm] writeback test succeeded in 1 usecs > drm0: [ITHREAD] > info: [drm] Num pipes: 1 > info: [drm] Setting GART location based on new memory map > info: [drm] Loading R500 Microcode > info: [drm] Num pipes: 1 > info: [drm] writeback test succeeded in 1 usecs > drm0: [ITHREAD] > info: [drm] Num pipes: 1 > info: [drm] Setting GART location based on new memory map > info: [drm] Loading R500 Microcode > info: [drm] Num pipes: 1 > info: [drm] writeback test succeeded in 1 usecs > drm0: [ITHREAD] > info: [drm] Num pipes: 1 > info: [drm] Setting GART location based on new memory map > info: [drm] Loading R500 Microcode > info: [drm] Num pipes: 1 > info: [drm] writeback test succeeded in 1 usecs > drm0: [ITHREAD] > info: [drm] Num pipes: 1 > info: [drm] Setting GART location based on new memory map > info: [drm] Loading R500 Microcode > info: [drm] Num pipes: 1 > info: [drm] writeback test succeeded in 1 usecs > drm0: [ITHREAD] > info: [drm] Num pipes: 1 > info: [drm] Setting GART location based on new memory map > info: [drm] Loading R500 Microcode > info: [drm] Num pipes: 1 > info: [drm] writeback test succeeded in 1 usecs > drm0: [ITHREAD] and here debugging was re-enabled after the problem has occurred. > [drm:pid6216:drm_ioctl] returning 4 > [drm:pid6216:drm_ioctl] pid=6216, cmd=0x80046457, nr=0x57, dev 0xc615fa00, > auth=1 > [drm:pid6216:drm_ioctl] returning 4 > [drm:pid6216:drm_ioctl] pid=6216, cmd=0x80046457, nr=0x57, dev 0xc615fa00, > auth=1 > [drm:pid6216:drm_ioctl] returning 4 > [drm:pid6216:drm_ioctl] pid=6216, cmd=0x80046457, nr=0x57, dev 0xc615fa00, > auth=1 > [drm:pid6216:drm_ioctl] returning 4 robert. > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org" -- Robert Noland <rnol...@freebsd.org> FreeBSD
signature.asc
Description: This is a digitally signed message part