[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120213135248.GA23457@sir.fritz.box>
Date: Mon, 13 Feb 2012 14:52:48 +0100
From: Christian Brunner <chb@....de>
To: netdev@...r.kernel.org
Subject: [PATCH] ixgbe: fix truesize calculation when merging active tail
into lro skb
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 <chb@....de>
---
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;
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists