[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1283582496.2320.4.camel@edumazet-laptop>
Date: Sat, 04 Sep 2010 08:41:36 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Santiago Leon <santil@...ux.vnet.ibm.com>
Cc: netdev@...r.kernel.org, brking@...ux.vnet.ibm.com, anton@...ba.org
Subject: Re: [patch 03/21] ibmveth: Remove LLTX
Le vendredi 03 septembre 2010 à 23:28 -0500, Santiago Leon a écrit :
> The ibmveth adapter needs locking in the transmit routine to protect
> the bounce_buffer but it sets LLTX and forgets to add any of its own
> locking.
>
> Just remove the deprecated LLTX option. Remove the stats lock in the process.
>
> Signed-off-by: Anton Blanchard <anton@...ba.org>
> Signed-off-by: Santiago Leon <santil@...ux.vnet.ibm.com>
> ---
>
> Index: net-next-2.6/drivers/net/ibmveth.c
> ===================================================================
> --- net-next-2.6.orig//drivers/net/ibmveth.c 2010-09-03 22:18:39.000000000 -0500
> +++ net-next-2.6/drivers/net/ibmveth.c 2010-09-03 22:18:40.000000000 -0500
> @@ -903,7 +903,6 @@ static netdev_tx_t ibmveth_start_xmit(st
> union ibmveth_buf_desc desc;
> unsigned long lpar_rc;
> unsigned long correlator;
> - unsigned long flags;
> unsigned int retry_count;
> unsigned int tx_dropped = 0;
> unsigned int tx_bytes = 0;
Why dont you remove these local variables then ?
tx_dropped, tx_bytes, tx_packets ?
> @@ -965,20 +964,18 @@ static netdev_tx_t ibmveth_start_xmit(st
> } else {
> tx_packets++;
> tx_bytes += skb->len;
> - netdev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */
> }
>
> if (!used_bounce)
> dma_unmap_single(&adapter->vdev->dev, data_dma_addr,
> skb->len, DMA_TO_DEVICE);
>
> -out: spin_lock_irqsave(&adapter->stats_lock, flags);
> +out:
> netdev->stats.tx_dropped += tx_dropped;
> netdev->stats.tx_bytes += tx_bytes;
> netdev->stats.tx_packets += tx_packets;
> adapter->tx_send_failed += tx_send_failed;
> adapter->tx_map_failed += tx_map_failed;
> - spin_unlock_irqrestore(&adapter->stats_lock, flags);
>
> dev_kfree_skb(skb);
> return NETDEV_TX_OK;
> @@ -1290,8 +1287,6 @@ static int __devinit ibmveth_probe(struc
> netdev->netdev_ops = &ibmveth_netdev_ops;
> netdev->ethtool_ops = &netdev_ethtool_ops;
> SET_NETDEV_DEV(netdev, &dev->dev);
> - netdev->features |= NETIF_F_LLTX;
> - spin_lock_init(&adapter->stats_lock);
>
> memcpy(netdev->dev_addr, &adapter->mac_addr, netdev->addr_len);
>
> Index: net-next-2.6/drivers/net/ibmveth.h
> ===================================================================
> --- net-next-2.6.orig//drivers/net/ibmveth.h 2010-09-03 22:18:39.000000000 -0500
> +++ net-next-2.6/drivers/net/ibmveth.h 2010-09-03 22:18:40.000000000 -0500
> @@ -158,7 +158,6 @@ struct ibmveth_adapter {
> u64 rx_no_buffer;
> u64 tx_map_failed;
> u64 tx_send_failed;
> - spinlock_t stats_lock;
> };
>
> struct ibmveth_buf_desc_fields {
> --
--
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