igb: fix skb truesize underestimation
authorEric Dumazet <eric.dumazet@gmail.com>
Thu, 13 Oct 2011 07:56:41 +0000 (07:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Oct 2011 20:05:07 +0000 (16:05 -0400)
e1000 allocates half a page per skb fragment. We must account
PAGE_SIZE/2 increments on skb->truesize, not the actual frag length.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/igb/igb_main.c

index 8227824e2027a71bfcc2c0ac286bb850a4302688..06109af8ae7380382a32e0945bf68af0814c71ca 100644 (file)
@@ -5950,7 +5950,7 @@ static bool igb_clean_rx_irq(struct igb_q_vector *q_vector, int budget)
 
                        skb->len += length;
                        skb->data_len += length;
-                       skb->truesize += length;
+                       skb->truesize += PAGE_SIZE / 2;
 
                        if ((page_count(buffer_info->page) != 1) ||
                            (page_to_nid(buffer_info->page) != current_node))