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:
parent
b90fa87635
commit
55c05dd029
@ -243,7 +243,6 @@ struct igbvf_adapter {
|
|||||||
/* OS defined structs */
|
/* OS defined structs */
|
||||||
struct net_device *netdev;
|
struct net_device *netdev;
|
||||||
struct pci_dev *pdev;
|
struct pci_dev *pdev;
|
||||||
struct net_device_stats net_stats;
|
|
||||||
spinlock_t stats_lock; /* prevent concurrent stats updates */
|
spinlock_t stats_lock; /* prevent concurrent stats updates */
|
||||||
|
|
||||||
/* structs defined in e1000_hw.h */
|
/* structs defined in e1000_hw.h */
|
||||||
|
@ -400,8 +400,8 @@ next_desc:
|
|||||||
|
|
||||||
adapter->total_rx_packets += total_packets;
|
adapter->total_rx_packets += total_packets;
|
||||||
adapter->total_rx_bytes += total_bytes;
|
adapter->total_rx_bytes += total_bytes;
|
||||||
adapter->net_stats.rx_bytes += total_bytes;
|
netdev->stats.rx_bytes += total_bytes;
|
||||||
adapter->net_stats.rx_packets += total_packets;
|
netdev->stats.rx_packets += total_packets;
|
||||||
return cleaned;
|
return cleaned;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -864,8 +864,8 @@ static bool igbvf_clean_tx_irq(struct igbvf_ring *tx_ring)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter->net_stats.tx_bytes += total_bytes;
|
netdev->stats.tx_bytes += total_bytes;
|
||||||
adapter->net_stats.tx_packets += total_packets;
|
netdev->stats.tx_packets += total_packets;
|
||||||
return count < tx_ring->count;
|
return count < tx_ring->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1838,7 +1838,7 @@ void igbvf_update_stats(struct igbvf_adapter *adapter)
|
|||||||
UPDATE_VF_COUNTER(VFGPRLBC, gprlbc);
|
UPDATE_VF_COUNTER(VFGPRLBC, gprlbc);
|
||||||
|
|
||||||
/* Fill out the OS statistics structure */
|
/* 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)
|
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_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
|
* igbvf_change_mtu - Change the Maximum Transfer Unit
|
||||||
* @netdev: network interface device structure
|
* @netdev: network interface device structure
|
||||||
@ -2675,7 +2660,6 @@ static const struct net_device_ops igbvf_netdev_ops = {
|
|||||||
.ndo_open = igbvf_open,
|
.ndo_open = igbvf_open,
|
||||||
.ndo_stop = igbvf_close,
|
.ndo_stop = igbvf_close,
|
||||||
.ndo_start_xmit = igbvf_xmit_frame,
|
.ndo_start_xmit = igbvf_xmit_frame,
|
||||||
.ndo_get_stats = igbvf_get_stats,
|
|
||||||
.ndo_set_rx_mode = igbvf_set_rx_mode,
|
.ndo_set_rx_mode = igbvf_set_rx_mode,
|
||||||
.ndo_set_mac_address = igbvf_set_mac,
|
.ndo_set_mac_address = igbvf_set_mac,
|
||||||
.ndo_change_mtu = igbvf_change_mtu,
|
.ndo_change_mtu = igbvf_change_mtu,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user