> -----Original Message----- > From: Ding, Xuan <[email protected]> > Sent: Tuesday, June 21, 2022 3:22 PM > To: [email protected]; Xia, Chenbo <[email protected]> > Cc: [email protected]; Hu, Jiayu <[email protected]>; Ding, Xuan > <[email protected]> > Subject: [PATCH v2] doc: update async enqueue API usage > > From: Xuan Ding <[email protected]> > > This patch updates the correct usage for async enqueue APIs. > The rte_vhost_poll_enqueue_completed() needs to be > called in time to notify the guest of completed packets and > avoid packet loss. > > Signed-off-by: Xuan Ding <[email protected]> > --- > v2: > * refine doc and commit log > --- > doc/guides/prog_guide/vhost_lib.rst | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/doc/guides/prog_guide/vhost_lib.rst > b/doc/guides/prog_guide/vhost_lib.rst > index cd3f6caa9a..628db3fc38 100644 > --- a/doc/guides/prog_guide/vhost_lib.rst > +++ b/doc/guides/prog_guide/vhost_lib.rst > @@ -480,6 +480,14 @@ the same vring with their own DMA virtual channels. > Besides, the number > of DMA devices is limited. For the purpose of scaling, it's necessary to > support sharing DMA channels among vrings. > > +* Async enqueue API usage > + > + In async enqueue path, rte_vhost_poll_enqueue_completed() needs to be > + called in time to notify the guest of DMA copy completed packets. > + Moreover, calling rte_vhost_submit_enqueue_burst() all the time but > + not poll completed will cause the DMA ring to be full, which will > + result in packet loss eventually. > + > Recommended IOVA mode in async datapath > --------------------------------------- > > -- > 2.17.1
Reviewed-by: Chenbo Xia <[email protected]>

