• Brett Creeley's avatar
    ice: Audit hotpath structures with pahole · 8244dd2d
    Brett Creeley authored
    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: default avatarBrett Creeley <brett.creeley@intel.com>
    Signed-off-by: default avatarAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    8244dd2d
ice_lib.c 72.5 KB