]> www.infradead.org Git - users/jedix/linux-maple.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)
committerJoe Jin <joe.jin@oracle.com>
Thu, 17 May 2012 08:24:18 +0000 (16:24 +0800)
commit7bae5bf7871199e0dd8766c319088d682d2d0aea
treee9dd56029fc730d873d637c7350c2c932ece2718
parentecfce3478c7f84de298ae4da0116072593fd80b4
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.

(cherry picked from commit 238ac817fd23f7dd5f61a8c51b4678f8d199db57)
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>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/igb/igb.h
drivers/net/igb/igb_main.c