Skip to content

Commit

Permalink
igbvf: Use net_device_stats from struct net_device
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tobias Klauser authored and Jeff Kirsher committed Apr 20, 2017
1 parent b90fa87 commit 55c05dd
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 22 deletions.
1 change: 0 additions & 1 deletion drivers/net/ethernet/intel/igbvf/igbvf.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
26 changes: 5 additions & 21 deletions drivers/net/ethernet/intel/igbvf/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -400,8 +400,8 @@ static bool igbvf_clean_rx_irq(struct igbvf_adapter *adapter,

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;
}

Expand Down Expand Up @@ -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;
}

Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit 55c05dd

Please sign in to comment.