]> 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)
commitb4bbf1073887c7f52d47fed0c158eeaa81bd216f
tree0e7a1096c71de92fdc736a5cfd5785e9ce88822a
parentfc338786d4f9e07e0c66e08da4e53727bdbed06f
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