On Mon, 2019-07-22 at 09:08 -0400, Qian Cai wrote: > There are a lot of compilation warnings due to tx_profile[] and > rx_profile[] are only used in lib/dim/net_dim.c but > include/linux/dim.h > is included elsewhere. > > In file included from ./include/rdma/ib_verbs.h:64, > from ./include/linux/mlx5/device.h:37, > from ./include/linux/mlx5/driver.h:51, > from > drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c:37: > ./include/linux/dim.h:326:1: warning: 'tx_profile' defined but not > used > [-Wunused-const-variable=] > tx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { > ^~~~~~~~~~ > ./include/linux/dim.h:320:1: warning: 'rx_profile' defined but not > used > [-Wunused-const-variable=] > rx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { > ^~~~~~~~~~ > > Fix them by moving tx_profile[] and rx_profile[] into > lib/dim/net_dim.c > instead. > > Signed-off-by: Qian Cai <c...@lca.pw> > --- > include/linux/dim.h | 12 ------------ > lib/dim/net_dim.c | 12 ++++++++++++ > 2 files changed, 12 insertions(+), 12 deletions(-) > > diff --git a/include/linux/dim.h b/include/linux/dim.h > index d3a0fbfff2bb..d5f3b10fe6e1 100644 > --- a/include/linux/dim.h > +++ b/include/linux/dim.h > @@ -316,18 +316,6 @@ void dim_calc_stats(struct dim_sample *start, > struct dim_sample *end, > {64, 32} \ > } > > -static const struct dim_cq_moder > -rx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { > - NET_DIM_RX_EQE_PROFILES, > - NET_DIM_RX_CQE_PROFILES, > -}; > - > -static const struct dim_cq_moder > -tx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { > - NET_DIM_TX_EQE_PROFILES, > - NET_DIM_TX_CQE_PROFILES, > -}; > - > /** > * net_dim_get_rx_moderation - provide a CQ moderation object for > the given RX profile > * @cq_period_mode: CQ period mode > diff --git a/lib/dim/net_dim.c b/lib/dim/net_dim.c > index 5bcc902c5388..f2a8674721cf 100644 > --- a/lib/dim/net_dim.c > +++ b/lib/dim/net_dim.c > @@ -5,6 +5,18 @@ > > #include <linux/dim.h> > > +static const struct dim_cq_moder > +rx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { > + NET_DIM_RX_EQE_PROFILES, > + NET_DIM_RX_CQE_PROFILES, > +}; > + > +static const struct dim_cq_moder > +tx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { > + NET_DIM_TX_EQE_PROFILES, > + NET_DIM_TX_CQE_PROFILES, > +}; > +
Hi Qian, it worth moving the structs and their dependencies, the whole below code block should move to net_dim.c altogether. /* Net DIM */ /* * Net DIM profiles: * There are different set of profiles for each CQ period mode. * There are different set of profiles for RX/TX CQs. * Each profile size must be of NET_DIM_PARAMS_NUM_PROFILES */ #define NET_DIM_PARAMS_NUM_PROFILES 5 #define NET_DIM_DEFAULT_RX_CQ_MODERATION_PKTS_FROM_EQE 256 #define NET_DIM_DEFAULT_TX_CQ_MODERATION_PKTS_FROM_EQE 128 #define NET_DIM_DEF_PROFILE_CQE 1 #define NET_DIM_DEF_PROFILE_EQE 1 #define NET_DIM_RX_EQE_PROFILES { \ {1, NET_DIM_DEFAULT_RX_CQ_MODERATION_PKTS_FROM_EQE}, \ {8, NET_DIM_DEFAULT_RX_CQ_MODERATION_PKTS_FROM_EQE}, \ {64, NET_DIM_DEFAULT_RX_CQ_MODERATION_PKTS_FROM_EQE}, \ {128, NET_DIM_DEFAULT_RX_CQ_MODERATION_PKTS_FROM_EQE}, \ {256, NET_DIM_DEFAULT_RX_CQ_MODERATION_PKTS_FROM_EQE}, \ } #define NET_DIM_RX_CQE_PROFILES { \ {2, 256}, \ {8, 128}, \ {16, 64}, \ {32, 64}, \ {64, 64} \ } #define NET_DIM_TX_EQE_PROFILES { \ {1, NET_DIM_DEFAULT_TX_CQ_MODERATION_PKTS_FROM_EQE}, \ {8, NET_DIM_DEFAULT_TX_CQ_MODERATION_PKTS_FROM_EQE}, \ {32, NET_DIM_DEFAULT_TX_CQ_MODERATION_PKTS_FROM_EQE}, \ {64, NET_DIM_DEFAULT_TX_CQ_MODERATION_PKTS_FROM_EQE}, \ {128, NET_DIM_DEFAULT_TX_CQ_MODERATION_PKTS_FROM_EQE} \ } #define NET_DIM_TX_CQE_PROFILES { \ {5, 128}, \ {8, 64}, \ {16, 32}, \ {32, 32}, \ {64, 32} \ } static const struct dim_cq_moder rx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { NET_DIM_RX_EQE_PROFILES, NET_DIM_RX_CQE_PROFILES, }; static const struct dim_cq_moder tx_profile[DIM_CQ_PERIOD_NUM_MODES][NET_DIM_PARAMS_NUM_PROFILES] = { NET_DIM_TX_EQE_PROFILES, NET_DIM_TX_CQE_PROFILES, }; in case you are going to submit a V2, can you cc netdev mailing list as well ? > struct dim_cq_moder > net_dim_get_rx_moderation(u8 cq_period_mode, int ix) > {