• Jakub Kicinski's avatar
    nfp: do simple XDP TX buffer recycling · 92e68195
    Jakub Kicinski authored
    On the RX path we follow the "drop if allocation of replacement
    buffer fails" rule.  With XDP we extended that to the TX action,
    so if XDP prog returned TX but allocation of replacement RX buffer
    failed, we will drop the packet.
    
    To improve our XDP TX performance extend the idea of rings being
    always full to XDP TX rings.  Pre-fill the XDP TX rings with RX
    buffers, and when XDP prog returns TX action swap the RX buffer
    with the next buffer from the TX ring.
    
    XDP TX complete will no longer free the buffers but let them
    sit on the TX ring and wait for swap with RX buffer, instead.
    Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    92e68195
nfp_net_common.c 86.4 KB