aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
AgeCommit message (Collapse)AuthorFilesLines
2013-10-09i40e: Add support for 64 bit netstatsAlexander Duyck1-4/+23
This change brings support for 64 bit netstats to the driver. Previously the stats were 64 bit but highly racy due to the fact that 64 bit transactions are not atomic on 32 bit systems. This change makes is so that the 64 bit byte and packet stats are reliable on all architectures. Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: Jesse Brandeburg <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-10-09i40e: Move rings from pointer to array to array of pointersAlexander Duyck1-20/+20
Allocate the queue pairs individually instead of as a group. This allows for much easier queue management as it is possible to dynamically resize the queues without having to free and allocate the entire block. Ease statistic collection by treating Tx/Rx queue pairs as a single unit. Each pair is allocated together and starts with a Tx queue and ends with an Rx queue. By ordering them this way it is possible to know the Rx offset based on a pointer to the Tx queue. Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: Jesse Brandeburg <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-10-09i40e: Move q_vectors from pointer to array to array of pointersAlexander Duyck1-2/+2
Allocate the q_vectors individually. The advantage to this is that it allows for easier freeing and allocation. In addition it makes it so that we could do node specific allocations at some point in the future. Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-10-09i40e: Split bytes and packets from Rx/Tx statsAlexander Duyck1-9/+5
This makes it so that the Tx and Rx byte and packet counts are separated from the rest of the statistics. This allows for better isolation of these stats when we move them into the 64 bit statistics. Simplify things by re-ordering how the stats display in ethtool. Instead of displaying all of the Tx queues as a block, followed by all the Rx queues, the new order is Tx[0], Rx[0], Tx[1], Rx[1], ..., Tx[n], Rx[n]. This reduces the loops and cleans up the display for testing purposes since it is very easy to verify if flow director is doing the right thing as the Tx and Rx queue pair are shown in pairs. Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: Jesse Brandeburg <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-09-11i40e: driver ethtool coreJesse Brandeburg1-0/+1449
This patch contains the ethtool interface and implementation. The goal in this patch series is minimal functionality while not including much in the way of "set support." Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Shannon Nelson <[email protected]> CC: PJ Waskiewicz <[email protected]> CC: [email protected] Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>