• Alexander Duyck's avatar
    fm10k/igb/ixgbe: Use dma_rmb on Rx descriptor reads · 124b74c1
    Alexander Duyck authored
    This change makes it so that dma_rmb is used when reading the Rx
    descriptor.  The advantage of dma_rmb is that it allows for a much
    lower cost barrier on x86, powerpc, arm, and arm64 architectures than a
    traditional memory barrier when dealing with reads that only have to
    synchronize to coherent memory.
    
    In addition I have updated the code so that it just checks to see if any
    bits have been set instead of just the DD bit since the DD bit will always
    be set as a part of a descriptor write-back so we just need to check for a
    non-zero value being present at that memory location rather than just
    checking for any specific bit.  This allows the code itself to appear much
    cleaner and allows the compiler more room to optimize.
    
    Cc: Matthew Vick <matthew.vick@intel.com>
    Cc: Don Skidmore <donald.c.skidmore@intel.com>
    Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    124b74c1
fm10k_main.c 52.5 KB