Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net/mlx5e: RX, Use indirect calls wrapper for handling compressed completions

We can avoid an indirect call per compressed completion wrapping the
completion handling call with the appropriate helper.

Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Reviewed-by: Maxim Mikityanskiy <maximmi@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

authored by

Tariq Toukan and committed by
Saeed Mahameed
e9c1d253 2c8f80b3

+4 -2
+4 -2
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
··· 158 158 mlx5e_read_mini_arr_slot(wq, cqd, cqcc); 159 159 160 160 mlx5e_decompress_cqe_no_hash(rq, wq, cqcc); 161 - rq->handle_rx_cqe(rq, &cqd->title); 161 + INDIRECT_CALL_2(rq->handle_rx_cqe, mlx5e_handle_rx_cqe_mpwrq, 162 + mlx5e_handle_rx_cqe, rq, &cqd->title); 162 163 } 163 164 mlx5e_cqes_update_owner(wq, cqcc - wq->cc); 164 165 wq->cc = cqcc; ··· 179 178 mlx5e_read_title_slot(rq, wq, cc); 180 179 mlx5e_read_mini_arr_slot(wq, cqd, cc + 1); 181 180 mlx5e_decompress_cqe(rq, wq, cc); 182 - rq->handle_rx_cqe(rq, &cqd->title); 181 + INDIRECT_CALL_2(rq->handle_rx_cqe, mlx5e_handle_rx_cqe_mpwrq, 182 + mlx5e_handle_rx_cqe, rq, &cqd->title); 183 183 cqd->mini_arr_idx++; 184 184 185 185 return mlx5e_decompress_cqes_cont(rq, wq, 1, budget_rem) - 1;