Commit 6175a486 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] ppc64: iSeries virtual ethernet minor optimisation

From: Stephen Rothwell <sfr@canb.auug.org.au>

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: default avatarRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 98df7f41
...@@ -938,19 +938,10 @@ static HvLpIndexMap veth_transmit_to_many(struct sk_buff *skb, ...@@ -938,19 +938,10 @@ static HvLpIndexMap veth_transmit_to_many(struct sk_buff *skb,
int rc; int rc;
for (i = 0; i < HVMAXARCHITECTEDLPS; i++) { for (i = 0; i < HVMAXARCHITECTEDLPS; i++) {
struct sk_buff *clone;
if ((lpmask & (1 << i)) == 0) if ((lpmask & (1 << i)) == 0)
continue; continue;
clone = skb_clone(skb, GFP_ATOMIC); rc = veth_transmit_to_one(skb_get(skb), i, dev);
if (! clone) {
veth_error("%s: skb_clone failed %p\n",
dev->name, skb);
continue;
}
rc = veth_transmit_to_one(clone, i, dev);
if (! rc) if (! rc)
lpmask &= ~(1<<i); lpmask &= ~(1<<i);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment