]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
ice: Audit hotpath structures with pahole
authorBrett Creeley <brett.creeley@intel.com>
Tue, 19 Feb 2019 23:04:05 +0000 (15:04 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 26 Mar 2019 22:03:25 +0000 (15:03 -0700)
commit8244dd2d23b251dcba3238e42216e9277beb5729
tree2daf864216a31bd9cea13bbd02ecc936652b75eb
parent89f3e4a5b762db66de94c44cfea11195f9d549b3
ice: Audit hotpath structures with pahole

Currently the ice_q_vector structure and ice_ring_container structure
are taking up more space than necessary due to cache alignment holes
and unnecessary variables respectively. This is not helping the
driver's performance. The following fixes were done to improve cache
alignment, reduce wasted space, and increase performance.

1. Remove the ice_latency_range enum as it is unused.
2. Remove the latency_range variable in the ice_ring_container structure.
3. Change the size of the itr_idx in the ice_ring_container structure
   from an int to an u16. This reduced the size of ice_ring_container
   structure to 32 Bytes so it has no holes or padding.
4. Re-arrange the ice_q_vector structure using pahole to align
   members as best as possible in regards to 64 Byte cache line size.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_lib.c
drivers/net/ethernet/intel/ice/ice_txrx.c
drivers/net/ethernet/intel/ice/ice_txrx.h