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.

Reply via email to