]> git.baikalelectronics.ru Git - kernel.git/commit
igb: update ring and adapter structure to improve performance
authorAlexander Duyck <alexander.h.duyck@intel.com>
Fri, 26 Aug 2011 07:43:48 +0000 (07:43 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 20 Sep 2011 06:58:04 +0000 (23:58 -0700)
commita426fd648624808d90fa4ba79891f121fffafa42
tree0e7a1096c71de92fdc736a5cfd5785e9ce88822a
parent4f18ede88100ce771dfaae3843fdb0e3c4ed9954
igb: update ring and adapter structure to improve performance

This change is meant to improve performance by splitting the Tx and Rx
rings into 3 sections.  The first is primarily a read only section
containing basic things like the indexes, a pointer to the dev and netdev
structures, and basic information.  The second section contains the stats
and next_to_use and next_to_clean values.  The third section is primarily
unused values that can just be placed at the end of the ring and are not
used in the hot path.

The adapter structure has several sections that are read in the hot path.
In order to improve performance there I am combining the frequent read
hot path items into a single cache line.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb.h
drivers/net/ethernet/intel/igb/igb_main.c