igbvf: Use net_device_stats from struct net_device
Instead of using a private copy of struct net_device_stats in struct igbvf_adapter, use stats from struct net_device. Also remove the now unnecessary .ndo_get_stats function. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
Родитель
b90fa87635
Коммит
55c05dd029
|
@ -243,7 +243,6 @@ struct igbvf_adapter {
|
|||
/* OS defined structs */
|
||||
struct net_device *netdev;
|
||||
struct pci_dev *pdev;
|
||||
struct net_device_stats net_stats;
|
||||
spinlock_t stats_lock; /* prevent concurrent stats updates */
|
||||
|
||||
/* structs defined in e1000_hw.h */
|
||||
|
|
|
@ -400,8 +400,8 @@ next_desc:
|
|||
|
||||
adapter->total_rx_packets += total_packets;
|
||||
adapter->total_rx_bytes += total_bytes;
|
||||
adapter->net_stats.rx_bytes += total_bytes;
|
||||
adapter->net_stats.rx_packets += total_packets;
|
||||
netdev->stats.rx_bytes += total_bytes;
|
||||
netdev->stats.rx_packets += total_packets;
|
||||
return cleaned;
|
||||
}
|
||||
|
||||
|
@ -864,8 +864,8 @@ static bool igbvf_clean_tx_irq(struct igbvf_ring *tx_ring)
|
|||
}
|
||||
}
|
||||
|
||||
adapter->net_stats.tx_bytes += total_bytes;
|
||||
adapter->net_stats.tx_packets += total_packets;
|
||||
netdev->stats.tx_bytes += total_bytes;
|
||||
netdev->stats.tx_packets += total_packets;
|
||||
return count < tx_ring->count;
|
||||
}
|
||||
|
||||
|
@ -1838,7 +1838,7 @@ void igbvf_update_stats(struct igbvf_adapter *adapter)
|
|||
UPDATE_VF_COUNTER(VFGPRLBC, gprlbc);
|
||||
|
||||
/* Fill out the OS statistics structure */
|
||||
adapter->net_stats.multicast = adapter->stats.mprc;
|
||||
adapter->netdev->stats.multicast = adapter->stats.mprc;
|
||||
}
|
||||
|
||||
static void igbvf_print_link_info(struct igbvf_adapter *adapter)
|
||||
|
@ -2373,21 +2373,6 @@ static void igbvf_reset_task(struct work_struct *work)
|
|||
igbvf_reinit_locked(adapter);
|
||||
}
|
||||
|
||||
/**
|
||||
* igbvf_get_stats - Get System Network Statistics
|
||||
* @netdev: network interface device structure
|
||||
*
|
||||
* Returns the address of the device statistics structure.
|
||||
* The statistics are actually updated from the timer callback.
|
||||
**/
|
||||
static struct net_device_stats *igbvf_get_stats(struct net_device *netdev)
|
||||
{
|
||||
struct igbvf_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
/* only return the current stats */
|
||||
return &adapter->net_stats;
|
||||
}
|
||||
|
||||
/**
|
||||
* igbvf_change_mtu - Change the Maximum Transfer Unit
|
||||
* @netdev: network interface device structure
|
||||
|
@ -2675,7 +2660,6 @@ static const struct net_device_ops igbvf_netdev_ops = {
|
|||
.ndo_open = igbvf_open,
|
||||
.ndo_stop = igbvf_close,
|
||||
.ndo_start_xmit = igbvf_xmit_frame,
|
||||
.ndo_get_stats = igbvf_get_stats,
|
||||
.ndo_set_rx_mode = igbvf_set_rx_mode,
|
||||
.ndo_set_mac_address = igbvf_set_mac,
|
||||
.ndo_change_mtu = igbvf_change_mtu,
|
||||
|
|
Загрузка…
Ссылка в новой задаче