igbvf: refactor Interrupt Throttle Rate code
authorMitch A Williams <mitch.a.williams@intel.com>
Sat, 14 Jan 2012 08:10:50 +0000 (08:10 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 7 Feb 2012 11:49:23 +0000 (03:49 -0800)
commitab50a2a430693b0961dc7b7d9fe2a4bd77d11ea6
tree12922f9f8d20c29006f6d99c4d1b2a1989215412
parent59d74026fa4b5df72a268f1e9578af500154ad07
igbvf: refactor Interrupt Throttle Rate code

The existing ITR code is broken and confusing, with lots of similarly-named
variables that do different things. Additionally, after the driver carefully
determines the optimal interrupt rate for the adapter, it then
ignores it and always writes a fixed, suboptimal value.

This patch refactors that code to make variable names more descriptive of
what they actually do, and then actually writes the calculated result to
the hardware.

Preliminary testing shows that netperf TCP_STREAM tests goes from ~918Mbps
to ~940Mbps, and TCP_RR goes from ~2k transactions/sec up to > 8k.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Robert E Garrett <robertX.e.garrett@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igbvf/ethtool.c
drivers/net/ethernet/intel/igbvf/igbvf.h
drivers/net/ethernet/intel/igbvf/netdev.c