Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jun 2013 12:34:16 +0400
From:      Oleg Sidorkin <osidorkin@gmail.com>
To:        freebsd-x11@freebsd.org
Subject:   [drm2][panic] Running XOrg with SNA enabled causes system panic after few hours on G33
Message-ID:  <CAGw%2Bup%2BoCnRPe6XPY5PJ12vO9qVFx6bN5CjgiGJF66J2hj1R1w@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello.

I'm running recent 9.1/stable with the recent XOrg on the system with
G33 chipset.
My pciconf -lvb output is here: http://pastebin.com/LDzKzf1i

If I add
Option "AccelMethod" "sna"
to my xorg.conf system panics after few hours:

(kgdb) bt
#0  doadump (textdump=<value optimized out>)
    at /usr/src/sys/kern/kern_
shutdown.c:272
#1  0xffffffff8050a19f in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:449
#2  0xffffffff8050a6a3 in panic (fmt=0x104 <Address 0x104 out of bounds>)
    at /usr/src/sys/kern/kern_shutdown.c:637
#3  0xffffffff80765f77 in vm_page_insert (m=0xfffffe0226126b50,
    object=0xfffffe0208de8488, pindex=3) at /usr/src/sys/vm/vm_page.c:914
#4  0xffffffff814a889d in i915_gem_pager_fault (vm_obj=0xfffffe0208de8488,
    offset=3, prot=<value optimized out>, mres=0xffffff824705b680)
    at /usr/src/sys/modules/drm2/i915kms/../../../dev/drm2/i915/i915_gem.c:1429
#5  0xffffffff80747fe3 in dev_pager_getpages (object=0xfffffe0208de8488,
    ma=0xffffff824705b680, count=1, reqpage=<value optimized out>)
    at /usr/src/sys/vm/device_pager.c:260
#6  0xffffffff80754bb6 in vm_fault_hold (map=0xfffffe000c247188,
    vaddr=34458505216, fault_type=2 '\002', fault_flags=0, m_hold=0x0)
    at vm_pager.h:128
#7  0xffffffff80756ca3 in vm_fault (map=0xfffffe000c247188, vaddr=34458505216,
    fault_type=<value optimized out>, fault_flags=0)
    at /usr/src/sys/vm/vm_fault.c:229
#8  0xffffffff8078e01f in trap_pfault (frame=0xffffff824705bc40, usermode=1)
    at /usr/src/sys/amd64/amd64/trap.c:762
#9  0xffffffff8078e864 in trap (frame=0xffffff824705bc40)

(kgdb) bt full
#0  doadump (textdump=<value optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:272
No locals.
#1  0xffffffff8050a19f in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:449
        _ep = (struct eventhandler_entry *) 0x0
        _el = (struct eventhandler_list *) 0xfffffe0009c7f700
        first_buf_printf = 1
#2  0xffffffff8050a6a3 in panic (fmt=0x104 <Address 0x104 out of bounds>)
    at /usr/src/sys/kern/kern_shutdown.c:637
        td = (struct thread *) 0x0
        bootopt = <value optimized out>
        newpanic = <value optimized out>
        ap = {{gp_offset = 8, fp_offset = 48,
    overflow_arg_area = 0xffffff824705b570,
    reg_save_area = 0xffffff824705b490}}
        panic_cpu = 3
        buf = "vm_page_insert: page already inserted", '\0' <repeats 218 times>
#3  0xffffffff80765f77 in vm_page_insert (m=0xfffffe0226126b50,
    object=0xfffffe0208de8488, pindex=3) at /usr/src/sys/vm/vm_page.c:914
        root = 0x0
#4  0xffffffff814a889d in i915_gem_pager_fault (vm_obj=0xfffffe0208de8488,
    offset=3, prot=<value optimized out>, mres=0xffffff824705b680)

(kgdb) up 4
#4  0xffffffff814a889d in i915_gem_pager_fault (vm_obj=0xfffffe0208de8488,
    offset=3, prot=<value optimized out>, mres=0xffffff824705b680)
    at /usr/src/sys/modules/drm2/i915kms/../../../dev/drm2/i915/i915_gem.c:1429
1429            vm_page_insert(m, vm_obj, OFF_TO_IDX(offset));
(kgdb) p vm_obj
$1 = 0xfffffe0208de8488
(kgdb) p m->object
$2 = 0xfffffe0208de8488

It works fine for weeks without Option "AccelMethod" "sna".

I replaced
 vm_page_insert(m, vm_obj, OFF_TO_IDX(offset));
with the code
       if (m->object==NULL){
           vm_page_insert(m, vm_obj, OFF_TO_IDX(offset));
       }
       else{
           if(m->object!=vm_obj)
               panic("i915_gem_pager_fault: tried to assign already
assigned page to the different object");
       }
and it worked with SNA enabled for about a week with no problems. But
I'm not sure that is a good solution.

I can provide additional info if required.

Thanks
--
Oleg Sidorkin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGw%2Bup%2BoCnRPe6XPY5PJ12vO9qVFx6bN5CjgiGJF66J2hj1R1w>