• Alexander Duyck's avatar
    ixgbe: Don't bother clearing buffer memory for descriptor rings · ffed21bc
    Alexander Duyck authored
    This patch makes it so that we don't need to bother with clearing the
    memory out for the descriptor rings.  The general idea is to only free
    buffers associated with buffers in use which are located between the
    next_to_clean and next_to_use or next_to_alloc values.  Everything outside
    of those regions can be safely ignored since they should have no buffers
    associated with them.
    
    The advantage to doing things this way is that is should speed up bring-up
    and tear-down of the rings.  Specifically we can avoid the 512 or more
    cycles required to memset the rings in tear-down.  In the bring-up phase we
    then clear the memory as a part of initialization.  The general idea is
    that the clearing in initialization can act as a prefetch of sorts for the
    buffer info structures so they are in the local CPU when we go to populate
    them.  This should help to improve overall time needed to perform a
    suspend/resume.
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    ffed21bc
ixgbe_main.c 283 KB