• Lorenzo Bianconi's avatar
    net: ti: add pp skb recycling support · a078d981
    Lorenzo Bianconi authored
    As already done for mvneta and mvpp2, enable skb recycling for ti
    ethernet drivers
    
    ti driver on net-next:
    ----------------------
    [perf top]
     47.15%  [kernel]     [k] _raw_spin_unlock_irqrestore
     11.77%  [kernel]     [k] __cpdma_chan_free
      3.16%  [kernel]     [k] ___bpf_prog_run
      2.52%  [kernel]     [k] cpsw_rx_vlan_encap
      2.34%  [kernel]     [k] __netif_receive_skb_core
      2.27%  [kernel]     [k] free_unref_page
      2.26%  [kernel]     [k] kmem_cache_free
      2.24%  [kernel]     [k] kmem_cache_alloc
      1.69%  [kernel]     [k] __softirqentry_text_start
      1.61%  [kernel]     [k] cpsw_rx_handler
      1.19%  [kernel]     [k] page_pool_release_page
      1.19%  [kernel]     [k] clear_bits_ll
      1.15%  [kernel]     [k] page_frag_free
      1.06%  [kernel]     [k] __dma_page_dev_to_cpu
      0.99%  [kernel]     [k] memset
      0.94%  [kernel]     [k] __alloc_pages_bulk
      0.92%  [kernel]     [k] kfree_skb
      0.85%  [kernel]     [k] packet_rcv
      0.78%  [kernel]     [k] page_address
      0.75%  [kernel]     [k] v7_dma_inv_range
      0.71%  [kernel]     [k] __lock_text_start
    
    [iperf3 tcp]
    [  5]   0.00-10.00  sec   873 MBytes   732 Mbits/sec    0   sender
    [  5]   0.00-10.01  sec   866 MBytes   726 Mbits/sec        receiver
    
    ti + skb recycling:
    -------------------
    [perf top]
     40.58%  [kernel]    [k] _raw_spin_unlock_irqrestore
     16.18%  [kernel]    [k] __softirqentry_text_start
     10.33%  [kernel]    [k] __cpdma_chan_free
      2.62%  [kernel]    [k] ___bpf_prog_run
      2.05%  [kernel]    [k] cpsw_rx_vlan_encap
      2.00%  [kernel]    [k] kmem_cache_alloc
      1.86%  [kernel]    [k] __netif_receive_skb_core
      1.80%  [kernel]    [k] kmem_cache_free
      1.63%  [kernel]    [k] cpsw_rx_handler
      1.12%  [kernel]    [k] cpsw_rx_mq_poll
      1.11%  [kernel]    [k] page_pool_put_page
      1.04%  [kernel]    [k] _raw_spin_unlock
      0.97%  [kernel]    [k] clear_bits_ll
      0.90%  [kernel]    [k] packet_rcv
      0.88%  [kernel]    [k] __dma_page_dev_to_cpu
      0.85%  [kernel]    [k] kfree_skb
      0.80%  [kernel]    [k] memset
      0.71%  [kernel]    [k] __lock_text_start
      0.66%  [kernel]    [k] v7_dma_inv_range
      0.64%  [kernel]    [k] gen_pool_free_owner
    
    [iperf3 tcp]
    [  5]   0.00-10.00  sec   884 MBytes   742 Mbits/sec    0   sender
    [  5]   0.00-10.01  sec   878 MBytes   735 Mbits/sec        receiver
    Tested-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
    Reviewed-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a078d981
cpsw.c 46 KB