Thread (6 messages) flat view 6 messages, 4 authors, 2012-02-14

Re: [PATCH] ixgbe: fix truesize calculation when merging active tail into lro skb

From: Jeff Kirsher <hidden>
Date: 2012-02-13 21:43:06

On Mon, 2012-02-13 at 15:12 +0100, Eric Dumazet wrote:
Le lundi 13 février 2012 à 14:52 +0100, Christian Brunner a écrit :
quoted
I'm seeing some page allocation failures with the ixgbe driver under heavy
load. While looking after it, I came accoss the truesize handling. I suspect,
that there is a small misstake in ixgbe_merge_active_tail(). (But I'm not
really sure).

Truesize allocation of the skb may be larger than skb->len, because
ixgbe is allocating PAGE_SIZE/2 for received fragments. Hence we 
should use the truesize of the tail when merging.

Signed-off-by: Christian Brunner <redacted>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index a42b0b2..c4d25af 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1222,7 +1222,7 @@ static inline struct sk_buff *ixgbe_merge_active_tail(struct sk_buff *tail)
 
 	head->len += tail->len;
 	head->data_len += tail->len;
-	head->truesize += tail->len;
+	head->truesize += tail->truesize;
 
 	IXGBE_CB(tail)->head = NULL;
 
You forgot CC Intel guys, but they usually catch netdev traffic :)

Acked-by: Eric Dumazet <redacted>

Cc: Jeff Kirsher <redacted>
Cc: Jesse Brandeburg <redacted>
Thanks Eric for bringing this to my attention.

Thanks Christian for the patch, I have added it to my queue.

Attachments

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