From 6175a4866a5b10cafabf0345f6982ea08e14f710 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Mon, 31 May 2004 18:47:20 -0700 Subject: [PATCH] [PATCH] ppc64: iSeries virtual ethernet minor optimisation From: Stephen Rothwell This has only been adjusted by me to apply after David Gibson's patch to add a watchdog timer. The iseries_veth driver does skb_clone, it should only need to skb_get, which is cheaper. Should help performance a little. Signed-off-by: Rusty Russell Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/net/iseries_veth.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c index c5fd371c9b186..9e3292df47411 100644 --- a/drivers/net/iseries_veth.c +++ b/drivers/net/iseries_veth.c @@ -938,19 +938,10 @@ static HvLpIndexMap veth_transmit_to_many(struct sk_buff *skb, int rc; for (i = 0; i < HVMAXARCHITECTEDLPS; i++) { - struct sk_buff *clone; - if ((lpmask & (1 << i)) == 0) continue; - clone = skb_clone(skb, GFP_ATOMIC); - if (! clone) { - veth_error("%s: skb_clone failed %p\n", - dev->name, skb); - continue; - } - - rc = veth_transmit_to_one(clone, i, dev); + rc = veth_transmit_to_one(skb_get(skb), i, dev); if (! rc) lpmask &= ~(1<