[PATCH] PPC64 iSeries virtual ethernet transmit errors

Olaf Hering olh at suse.de
Wed May 19 22:42:11 EST 2004


 On Wed, May 19, Stephen Rothwell wrote:

>
> Hi Olaf,
>
> This patch stops the iseries_veth driver trying to send every packet to
> too many logical partitions.  Consequently, the number of transmit
> errors falls to (about) zero from a very large number.  This should
> also improve performance a bit as the driver is no longer doing 31 extra
> skb_clone()s and skb_free()s for each packet ...
>
> Linus, Andrew, I would be grateful if this could go into your trees as well.

Here is another one, no spin_unlock in the error path:


--- linux-2.6.5/drivers/net/iseries_veth.c        2004-05-19 14:24:21.000000000 +0200
+++ linux-2.6.5/drivers/net/iseries_veth.c   2004-05-19 14:32:39.000000000 +0200
@@ -994,6 +994,7 @@ static int veth_start_xmit(struct sk_buf
                        veth_error("%s: Tx while skb was pending!\n",
                                   dev->name);
                        dev_kfree_skb(skb);
+                       spin_unlock_irqrestore(&port->pending_gate, flags);
                        return 1;
                }



--
USB is for mice, FireWire is for men!

sUse lINUX ag, nÜRNBERG

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list