Thread (9 messages) 9 messages, 4 authors, 2009-07-28

Re: ixgbe: panic in ixgbe_clean_rx_irq()

From: Waskiewicz Jr, Peter P <hidden>
Date: 2009-07-22 18:13:00

On Wed, 22 Jul 2009, Jesper Dangaard Brouer wrote:
Hi Peter,

Got a panic from the ixgbe driver on my 82599 based NICs, while running
two pktgen tests (1500 bytes packets) against the machine.

Kernel: 2.6.31-rc1-net-2.6-00122-ge594e96 with preemption

The panic occurs in ixgbe_clean_rx_irq+0x319/0x53b

Using objdump I can see that it seems to occur in an inlined function
ixgbe_transform_rsc_queue() in objdump "line" "2811:"
(ixgbe_clean_rx_irq starts 0x24f8 + 0x319 = 0x2811)

static inline struct sk_buff *ixgbe_transform_rsc_queue(struct sk_buff *skb)
{
        unsigned int frag_list_size = 0;

        while (skb->prev) {
    2811:       48 8b 7b 08             mov    0x8(%rbx),%rdi
    2815:       48 85 ff                test   %rdi,%rdi
    2818:       75 e9                   jne    2803 <ixgbe_clean_rx_irq+0x30b>
                frag_list_size += skb->len;
                skb->prev = NULL;
                skb = prev;
        }

        skb_shinfo(skb)->frag_list = skb->next;
    281a:       48 8b 03                mov    (%rbx),%rax
    281d:       8b 8b c8 00 00 00       mov    0xc8(%rbx),%ecx
    2823:       48 8b 93 d0 00 00 00    mov    0xd0(%rbx),%rdx
    282a:       48 89 44 0a 20          mov    %rax,0x20(%rdx,%rcx,1)
        skb->next = NULL;
    282f:       48 c7 03 00 00 00 00    movq   $0x0,(%rbx)
        skb->len += frag_list_size;
    2836:       01 73 60                add    %esi,0x60(%rbx)
        skb->data_len += frag_list_size;
    2839:       01 73 64                add    %esi,0x64(%rbx)
        skb->truesize += frag_list_size;
    283c:       01 b3 e0 00 00 00       add    %esi,0xe0(%rbx)
                }


Let me know if you want the objdump, its quite large.
Thanks for the report Jesper.  Hold onto the objdump for now.  If I need 
it, I'll let you know (and give you a place to upload it to).

For the time being, I have one of my validation guys trying to get a repro 
in our lab right now.  So please consider this being actively worked on 
right now.  Hopefully I'll have something for you soon.

Cheers,
-PJ Waskiewicz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help