• Gerhard Engleder's avatar
    tsnep: Add XDP socket zero-copy TX support · cd275c23
    Gerhard Engleder authored
    Send and complete XSK pool frames within TX NAPI context. NAPI context
    is triggered by ndo_xsk_wakeup.
    
    Test results with A53 1.2GHz:
    
    xdpsock txonly copy mode, 64 byte frames:
                       pps            pkts           1.00
    tx                 284,409        11,398,144
    Two CPUs with 100% and 10% utilization.
    
    xdpsock txonly zero-copy mode, 64 byte frames:
                       pps            pkts           1.00
    tx                 511,929        5,890,368
    Two CPUs with 100% and 1% utilization.
    
    xdpsock l2fwd copy mode, 64 byte frames:
                       pps            pkts           1.00
    rx                 248,985        7,315,885
    tx                 248,921        7,315,885
    Two CPUs with 100% and 10% utilization.
    
    xdpsock l2fwd zero-copy mode, 64 byte frames:
                       pps            pkts           1.00
    rx                 254,735        3,039,456
    tx                 254,735        3,039,456
    Two CPUs with 100% and 4% utilization.
    
    Packet rate increases and CPU utilization is reduced in both cases.
    Signed-off-by: default avatarGerhard Engleder <gerhard@engleder-embedded.com>
    Reviewed-by: default avatarMaciej Fijalkowski <maciej.fijalkowski@intel.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    cd275c23
tsnep_main.c 64.7 KB