• Sunil Goutham's avatar
    net: thunderx: Fix for issues with multiple CQEs posted for a TSO packet · 7ceb8a13
    Sunil Goutham authored
    On ThunderX 88xx pass 2.x chips when TSO is offloaded to HW,
    HW posts a CQE for every TSO segment transmitted. Current code
    does handles this, but is prone to issues when segment sizes are
    small resulting in SW processing too many CQEs and also at times
    frees a SKB which is not yet transmitted.
    
    This patch handles the errata in a different way and eliminates issues
    with earlier approach, TSO packet is submitted to HW with post_cqe=0,
    so that no CQE is posted upon completion of transmission of TSO packet
    but a additional HDR + IMMEDIATE descriptors are added to SQ due to
    which a CQE is posted and will have required info to be used while
    cleanup in napi. This way only one CQE is posted for a TSO packet.
    Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7ceb8a13
nicvf_queues.c 38.7 KB