[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1447764570-22647-1-git-send-email-martinbj2008@gmail.com>
Date: Tue, 17 Nov 2015 20:49:30 +0800
From: martinbj2008@...il.com
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, Martin Zhang <martinbj2008@...il.com>,
Junwei Zhang <linggao.zjw@...baba-inc.com>
Subject: [PATCH v1 net] net: use skb_clone to avoid alloc_pages failure.
From: Martin Zhang <martinbj2008@...il.com>
1. new skb only need dst and ip address(v4 or v6).
2. skb_copy may need high order pages, which is very rare on long running server.
Signed-off-by: Junwei Zhang <linggao.zjw@...baba-inc.com>
Signed-off-by: Martin Zhang <martinbj2008@...il.com>
---
net/core/neighbour.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 1aa8437..e6af42d 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -857,7 +857,7 @@ static void neigh_probe(struct neighbour *neigh)
struct sk_buff *skb = skb_peek_tail(&neigh->arp_queue);
/* keep skb alive even if arp_queue overflows */
if (skb)
- skb = skb_copy(skb, GFP_ATOMIC);
+ skb = skb_clone(skb, GFP_ATOMIC);
write_unlock(&neigh->lock);
neigh->ops->solicit(neigh, skb);
atomic_inc(&neigh->probes);
--
2.1.4
--
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