On Wed, Jul 03, 2019 at 01:51:51PM -0700, Sagi Grimberg wrote: > > > From: Yamin Friedman <yaminf@xxxxxxxxxxxx> > > > > RDMA DIM implements a different algorithm from net DIM and is based on > > completions which is how we can implement interrupt moderation in RDMA. > > > > The algorithm optimizes for number of completions and ratio between > > completions and events. In order to avoid long latencies, the > > implementation performs fast reduction of moderation level when the > > traffic changes. > > > > Signed-off-by: Yamin Friedman <yaminf@xxxxxxxxxxxx> > > Reviewed-by: Max Gurtovoy <maxg@xxxxxxxxxxxx> > > Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > --- > > include/linux/dim.h | 36 +++++++++++++++ > > lib/dim/Makefile | 6 +-- > > lib/dim/rdma_dim.c | 108 ++++++++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 146 insertions(+), 4 deletions(-) > > create mode 100644 lib/dim/rdma_dim.c > > > > diff --git a/include/linux/dim.h b/include/linux/dim.h > > index aa9bdd47a648..1ae32835723a 100644 > > --- a/include/linux/dim.h > > +++ b/include/linux/dim.h > > @@ -82,6 +82,7 @@ struct dim_stats { > > * @prev_stats: Measured rates from previous iteration (for comparison) > > * @start_sample: Sampled data at start of current iteration > > * @work: Work to perform on action required > > + * @dim_owner: A pointer to the struct that points to dim > > * @profile_ix: Current moderation profile > > * @mode: CQ period count mode > > * @tune_state: Algorithm tuning state (see below) > > @@ -95,6 +96,7 @@ struct dim { > > struct dim_sample start_sample; > > struct dim_sample measuring_sample; > > struct work_struct work; > > + void *dim_owner; > > This is different than the net consumers that init an embedded dim > struct. I imagine that the reason is to not have this dim space in every > ib_cq struct? Yes, it was changed based on my review inputs. > > Would suggest to name it to 'priv' or 'dim_priv' > > Otherwise, > Reviewed-by: Sagi Grimberg <sagi@xxxxxxxxxxx> Thanks a lot.