page fault in igb driver on 8.0-RC1

Mykola Dzham freebsd at levsha.org.ua
Sat Oct 17 17:21:32 UTC 2009


Hi!
On hight network load system panics:

GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12
GET BUF: dmamap load failure - 12


Fatal trap 12: page fault while in kernel mode
cpuid = 2; apic id = 02
fault virtual address   = 0x0
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff8025e4a5
stack pointer           = 0x28:0xffffff87312f3a60
frame pointer           = 0x28:0xffffff87312f3a80
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (igb0 taskq)
trap number             = 12
panic: page fault
cpuid = 2
KDB: stack backtrace:
db_trace_self_wrapper() at 0xffffffff80185baa =
db_trace_self_wrapper+0x2a
panic() at 0xffffffff8020e992 = panic+0x182
trap_fatal() at 0xffffffff8040eefd = trap_fatal+0x2ad
trap_pfault() at 0xffffffff8040f27d = trap_pfault+0x22d
trap() at 0xffffffff8040fbff = trap+0x3cf
calltrap() at 0xffffffff803f6e13 = calltrap+0x8
--- trap 0xc, rip = 0xffffffff8025e4a5, rsp = 0xffffff87312f3a60, rbp =
0xffffff87312f3a80 ---
mb_free_ext() at 0xffffffff8025e4a5 = mb_free_ext+0x15
igb_get_buf() at 0xffffffff80a3a6e5 = igb_get_buf+0x2e5
igb_rxeof() at 0xffffffff80a3abd5 = igb_rxeof+0x425
igb_handle_rx() at 0xffffffff80a3b14b = igb_handle_rx+0x3b
taskqueue_run() at 0xffffffff80243ec1 = taskqueue_run+0x91
taskqueue_thread_loop() at 0xffffffff8024404f =
taskqueue_thread_loop+0x3f
fork_exit() at 0xffffffff801ea9b2 = fork_exit+0x112
fork_trampoline() at 0xffffffff803f72ee = fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffff87312f3d30, rbp = 0 ---
Uptime: 1h46m18s
Cannot dump. Device not defined or unavailable.

System is amd64 8.0-RC1 r197974 Tue Oct 13 23:00:17 EEST 2009

dmesg part about network cards:

found-> vendor=0x8086, dev=0x10a7, revid=0x02
        domain=0, bus=8, slot=0, func=0
        class=02-00-00, hdrtype=0x00, mfdev=1
        cmdreg=0x0007, statreg=0x0010, cachelnsz=8 (dwords)
        lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
        intpin=a, irq=56
        powerspec 2  supports D0 D3  current D0
        MSI supports 1 message, 64 bit
        MSI-X supports 10 messages in map 0x1c
pci0:8:0:0: reprobing on driver added
igb0: <Intel(R) PRO/1000 Network Connection version - 1.7.3> port
0x2000-0x201f mem
0xd8020000-0xd803ffff,0xd8000000-0xd801ffff,0xd8080000-0xd8083fff irq
56 at device 0.0 on pci8
igb0: Reserved 0x20000 bytes for rid 0x10 type 3 at 0xd8020000
igb0: Reserved 0x4000 bytes for rid 0x1c type 3 at 0xd8080000
igb0: attempting to allocate 3 MSI-X vectors (10 supported)
msi: routing MSI-X IRQ 256 to local APIC 7 vector 48
msi: routing MSI-X IRQ 257 to local APIC 0 vector 48
msi: routing MSI-X IRQ 258 to local APIC 1 vector 49
igb0: using IRQs 256-258 for MSI-X
igb0: Using MSIX interrupts with 3 vectors
igb0: [MPSAFE]
igb0: [ITHREAD]
igb0: [MPSAFE]
igb0: [ITHREAD]
igb0: [MPSAFE]
igb0: [ITHREAD]
igb0: bpf attached
igb0: Ethernet address: 00:30:48:c6:c4:54
found-> vendor=0x8086, dev=0x10a7, revid=0x02
        domain=0, bus=8, slot=0, func=1
        class=02-00-00, hdrtype=0x00, mfdev=1
        cmdreg=0x0007, statreg=0x0010, cachelnsz=8 (dwords)
        lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
        intpin=b, irq=70
        powerspec 2  supports D0 D3  current D0
        MSI supports 1 message, 64 bit
        MSI-X supports 10 messages in map 0x1c
pci0:8:0:1: reprobing on driver added
igb1: <Intel(R) PRO/1000 Network Connection version - 1.7.3> port
0x2020-0x203f mem
0xd8060000-0xd807ffff,0xd8040000-0xd805ffff,0xd8084000-0xd8087fff irq
70 at device 0.1 on pci8
igb1: Reserved 0x20000 bytes for rid 0x10 type 3 at 0xd8060000
igb1: Reserved 0x4000 bytes for rid 0x1c type 3 at 0xd8084000
igb1: attempting to allocate 3 MSI-X vectors (10 supported)
msi: routing MSI-X IRQ 259 to local APIC 2 vector 49
msi: routing MSI-X IRQ 260 to local APIC 3 vector 49
msi: routing MSI-X IRQ 261 to local APIC 4 vector 49
igb1: using IRQs 259-261 for MSI-X
igb1: Using MSIX interrupts with 3 vectors
igb1: [MPSAFE]
igb1: [ITHREAD]
igb1: [MPSAFE]
igb1: [ITHREAD]
igb1: [MPSAFE]
igb1: [ITHREAD]
igb1: bpf attached
igb1: Ethernet address: 00:30:48:c6:c4:55

I have no kernel dump (dump device disabled by default now), but i can
reproduce problem with enabled kernel dump and with debug kernel if
required.

-- 
LEFT-(UANIC|RIPE)
JID: levsha at jabber.net.ua
PGP fingerprint: 1BCD 7C80 2E04 7282 C944  B0E0 7E67 619E 4E72 9280


More information about the freebsd-current mailing list