[dpdk-dev] [PATCH v2 0/6] net/mlx5: reduce Tx datapath compile time
Michael Baum
michaelba at nvidia.com
Mon Apr 12 08:32:19 CEST 2021
The mlx5_rxtx.c file contains a lot of Tx burst functions, each of those is performance-optimized for the specific set of requested offloads.
These ones are generated on the basis of the template function and it takes significant time to compile, just due to a large number of giant functions generated in the same file and this compilation is not being done in parallel with using multithreading.
Therefore, in this series we split the mlx5_rxtx.c file into several separate files to allow different functions to be compiled simultaneously.
v2: fix compilation error + rebase
Michael Baum (6):
net/mlx5: separate Rx function declarations to another file
net/mlx5: separate Rx function implementations to new file
net/mlx5: separate Tx function declarations to another file
net/mlx5: separate Tx burst template to header file
net/mlx5: separate Tx function implementations to new file
net/mlx5: separate Tx burst functions to different files
drivers/net/mlx5/linux/mlx5_mp_os.c | 2 +
drivers/net/mlx5/linux/mlx5_os.c | 2 +
drivers/net/mlx5/linux/mlx5_verbs.c | 3 +-
drivers/net/mlx5/meson.build | 6 +
drivers/net/mlx5/mlx5.c | 2 +
drivers/net/mlx5/mlx5_devx.c | 3 +-
drivers/net/mlx5/mlx5_ethdev.c | 2 +
drivers/net/mlx5/mlx5_flow.c | 3 +-
drivers/net/mlx5/mlx5_flow_dv.c | 3 +-
drivers/net/mlx5/mlx5_flow_verbs.c | 2 +-
drivers/net/mlx5/mlx5_mr.c | 2 +
drivers/net/mlx5/mlx5_rss.c | 1 +
drivers/net/mlx5/mlx5_rx.c | 1203 ++++++++
drivers/net/mlx5/mlx5_rx.h | 598 ++++
drivers/net/mlx5/mlx5_rxmode.c | 1 -
drivers/net/mlx5/mlx5_rxq.c | 3 +-
drivers/net/mlx5/mlx5_rxtx.c | 5468 +----------------------------------
drivers/net/mlx5/mlx5_rxtx.h | 915 +-----
drivers/net/mlx5/mlx5_rxtx_vec.c | 1 +
drivers/net/mlx5/mlx5_stats.c | 3 +-
drivers/net/mlx5/mlx5_trigger.c | 3 +-
drivers/net/mlx5/mlx5_tx.c | 780 +++++
drivers/net/mlx5/mlx5_tx.h | 3734 ++++++++++++++++++++++++
drivers/net/mlx5/mlx5_tx_empw.c | 71 +
drivers/net/mlx5/mlx5_tx_mpw.c | 34 +
drivers/net/mlx5/mlx5_tx_nompw.c | 71 +
drivers/net/mlx5/mlx5_tx_txpp.c | 45 +
drivers/net/mlx5/mlx5_txpp.c | 3 +-
drivers/net/mlx5/mlx5_txq.c | 2 +
drivers/net/mlx5/mlx5_vlan.c | 1 +
drivers/net/mlx5/windows/mlx5_os.c | 2 +
31 files changed, 6581 insertions(+), 6388 deletions(-)
create mode 100644 drivers/net/mlx5/mlx5_rx.c
create mode 100644 drivers/net/mlx5/mlx5_rx.h
create mode 100644 drivers/net/mlx5/mlx5_tx.c
create mode 100644 drivers/net/mlx5/mlx5_tx.h
create mode 100644 drivers/net/mlx5/mlx5_tx_empw.c
create mode 100644 drivers/net/mlx5/mlx5_tx_mpw.c
create mode 100644 drivers/net/mlx5/mlx5_tx_nompw.c
create mode 100644 drivers/net/mlx5/mlx5_tx_txpp.c
--
1.8.3.1
More information about the dev
mailing list