Skip to content
  • Tariq Toukan's avatar
    net/mlx5e: Implement RX mapped page cache for page recycle · 4415a031
    Tariq Toukan authored
    
    
    Instead of reallocating and mapping pages for RX data-path,
    recycle already used pages in a per ring cache.
    
    Performance tests:
    The following results were measured on a freshly booted system,
    giving optimal baseline performance, as high-order pages are yet to
    be fragmented and depleted.
    
    We ran pktgen single-stream benchmarks, with iptables-raw-drop:
    
    Single stride, 64 bytes:
    * 4,739,057 - baseline
    * 4,749,550 - order0 no cache
    * 4,786,899 - order0 with cache
    1% gain
    
    Larger packets, no page cross, 1024 bytes:
    * 3,982,361 - baseline
    * 3,845,682 - order0 no cache
    * 4,127,852 - order0 with cache
    3.7% gain
    
    Larger packets, every 3rd packet crosses a page, 1500 bytes:
    * 3,731,189 - baseline
    * 3,579,414 - order0 no cache
    * 3,931,708 - order0 with cache
    5.4% gain
    
    Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4415a031