• Íñigo Huguet's avatar
    sfc: last resort fallback for lack of xdp tx queues · 6215b608
    Íñigo Huguet authored
    Previous patch addressed the situation of having some free resources for
    xdp tx but not enough for one tx queue per CPU. This patch address the
    worst case of not having resources at all for xdp tx.
    
    Instead of using queues dedicated to xdp, normal queues used by network
    stack are shared for both cases, using __netif_tx_lock for
    synchronization. Also queue stop/restart must be considered in the xdp
    path to avoid freezing the queue.
    
    This is not the ideal situation we might want to be, and a performance
    penalty is expected both for normal and xdp traffic, but at least XDP
    will work in all possible situations (with a warning in the logs),
    improving a bit the pain of not knowing in what situations we can use it
    and in what situations we cannot.
    Signed-off-by: default avatarÍñigo Huguet <ihuguet@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6215b608
efx_channels.c 33.7 KB