On Tue, 2020-09-08 at 20:29 -0700, David Miller wrote: > From: David Miller <da...@davemloft.net> > Date: Tue, 08 Sep 2020 20:28:36 -0700 (PDT) > > > From: Saeed Mahameed <sae...@nvidia.com> > > Date: Tue, 8 Sep 2020 18:27:48 -0700 > > > > > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c > > > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c > > > @@ -232,6 +232,29 @@ mlx5e_txwqe_build_dsegs(struct mlx5e_txqsq > > > *sq, struct sk_buff *skb, > > > return -ENOMEM; > > > } > > > > > > +static inline bool mlx5e_transport_inline_tx_wqe(struct > > > mlx5_wqe_ctrl_seg *cseg) > > > +{ > > > + return cseg && !!cseg->tis_tir_num; > > > +} > > > + > > > +static inline u8 > > > +mlx5e_tx_wqe_inline_mode(struct mlx5e_txqsq *sq, struct > > > mlx5_wqe_ctrl_seg *cseg, > > > + struct sk_buff *skb) > > > +{ > > > > No inlines in foo.c files, please. > > I see you're doing this even more later in this series. > > Please fix all of this up, thank you.
Hi Dave, Maxim really tried here to avoid this without huge performance degradation (~6.4% reduce in packet rate), due to the refactoring patches gcc yields non optimal code, as we explained in the commit messages and cover-letter Our other option is making the code very ugly with no code reuse in the tx path, so we would really appreciate if you could relax the no-inline guideline for this series. Thanks, Saeed.