• Alan Brady's avatar
    i40e: Simplify i40e_detect_recover_hung_queue logic · 17daabb5
    Alan Brady authored
    This patch greatly reduces the unneeded complexity in the
    i40e_detect_recover_hung_queue code path.  The previous implementation
    set a 'hung bit' which would then get cleared while polling.  If the
    detection routine was called a second time with the bit already set, we
    would issue a software interrupt.  This patch makes it such that if
    interrupts are disabled and we have pending TX descriptors, we trigger a
    software interrupt since in, the worst case, queues are already clean
    and we have an extra interrupt.
    
    Additionally this patch removes the workaround for lost interrupts as
    calling napi_reschedule in this context can cause software interrupts to
    fire on the wrong CPU.
    
    Change-ID: Iae108582a3ceb6229ed1d22e4ed6e69cf97aad8d
    Signed-off-by: default avatarAlan Brady <alan.brady@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    17daabb5
i40e_main.c 327 KB