On Mon, Jul 13, 2020 at 07:15:19AM +0000, Cheng Jiang wrote: > Added a flag which controls whether rte_ioat_enqueue_copy > and rte_ioat_completed_copies function should process > handle parameters to improve the performance when handle > parameters are not necessary to use. This is targeting > 20.11 release. > > Signed-off-by: Cheng Jiang <cheng1.ji...@intel.com> > --- > drivers/raw/ioat/ioat_rawdev.c | 1 + > drivers/raw/ioat/rte_ioat_rawdev.h | 14 +++++++++++--- > 2 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c > index 87fd088aa..5bf030785 100644 > --- a/drivers/raw/ioat/ioat_rawdev.c > +++ b/drivers/raw/ioat/ioat_rawdev.c > @@ -57,6 +57,7 @@ ioat_dev_configure(const struct rte_rawdev *dev, > rte_rawdev_obj_t config) > return -EINVAL; > > ioat->ring_size = params->ring_size; > + ioat->hdls_enable = params->hdls_enable; > if (ioat->desc_ring != NULL) { > rte_memzone_free(ioat->desc_mz); > ioat->desc_ring = NULL; > diff --git a/drivers/raw/ioat/rte_ioat_rawdev.h > b/drivers/raw/ioat/rte_ioat_rawdev.h > index f765a6557..daca04dd3 100644 > --- a/drivers/raw/ioat/rte_ioat_rawdev.h > +++ b/drivers/raw/ioat/rte_ioat_rawdev.h > @@ -35,6 +35,7 @@ > */ > struct rte_ioat_rawdev_config { > unsigned short ring_size; > + bool hdls_enable; > }; > You need a doxygen comment on the new structure member (and add to existing one). While it's fairly clear what ring_size parameter should do, the hdls_enable one needs a proper explanation.
I also think you might want to investigate changing it to "hdls_disable" so that the default zero-value is the current behaviour. Requiring it to be set as 1 means that existing code will likely recompile but fail to work. For example, the ioat_rawdev_autotest fails on completion checks now.