Hi Dave,

In this series, we refactor our Striding RQ receive-flow to always use
fragmented WQEs (Work Queue Elements) using order-0 pages, omitting the
flow that allocates and splits high-order pages which would fragment
and deplete high-order pages in the system.

The first patch gives a slight degradation, but opens the opportunity
to using a simple page-cache mechanism of a fair size.
The page-cache, implemented in patch 3, not only closes the performance
gap but even gives a gain.
In patch 2 we re-organize the code to better manage the calls for
alloc/de-alloc pages in the RX flow.

Series generated against net-next commit:
bed806cb266e "Merge branch 'mlxsw-ethtool'"

Thanks,
Tariq

Tariq Toukan (3):
  net/mlx5e: Single flow order-0 pages for Striding RQ
  net/mlx5e: Introduce API for RX mapped pages
  net/mlx5e: Implement RX mapped page cache for page recycle

 drivers/net/ethernet/mellanox/mlx5/core/en.h       |  70 ++--
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  | 149 +++++++--
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    | 359 +++++++--------------
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.h |  20 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c  |   2 +-
 5 files changed, 291 insertions(+), 309 deletions(-)

-- 
1.8.3.1

Reply via email to