[dpdk-dev] [PATCH 2/2] vhost: add thread unsafe async registration functions
Hu, Jiayu
jiayu.hu at intel.com
Mon Jul 5 03:35:50 CEST 2021
> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin at redhat.com>
> Sent: Friday, July 2, 2021 3:41 PM
> To: Hu, Jiayu <jiayu.hu at intel.com>; dev at dpdk.org
> Cc: Xia, Chenbo <chenbo.xia at intel.com>; Wang, Yinan
> <yinan.wang at intel.com>
> Subject: Re: [PATCH 2/2] vhost: add thread unsafe async registration
> functions
>
>
>
> On 5/28/21 10:11 AM, Jiayu Hu wrote:
> > This patch is to add thread unsafe version for async register and
>
> s/is to add/adds/
>
> > unregister functions.
> >
> > Signed-off-by: Jiayu Hu <jiayu.hu at intel.com>
> > ---
> > doc/guides/prog_guide/vhost_lib.rst | 12 +++
> > lib/vhost/rte_vhost_async.h | 42 ++++++++++
> > lib/vhost/version.map | 4 +
> > lib/vhost/vhost.c | 161 +++++++++++++++++++++++++++---------
> > 4 files changed, 178 insertions(+), 41 deletions(-)
> >
> > diff --git a/doc/guides/prog_guide/vhost_lib.rst
> > b/doc/guides/prog_guide/vhost_lib.rst
> > index d18fb98..6b2745f 100644
> > --- a/doc/guides/prog_guide/vhost_lib.rst
> > +++ b/doc/guides/prog_guide/vhost_lib.rst
> > @@ -253,6 +253,12 @@ The following is an overview of some key Vhost
> API functions:
> > vhost invokes this function to get the copy data completed by async
> > devices.
> >
> > +* ``rte_vhost_async_channel_register_thread_unsafe(vid, queue_id,
> > +features, ops)``
> > + Register a vhost queue with async copy device channel without
> > + performing any locking.
> > +
> > + This function is only safe to call from within vhost callback functions.
>
> I'm not sure with this, AFAICS .new_device() is called without the lock held,
> so is that safe? Since .new_device() is the first time the app gets required
> device info to use the Vhost API, that might not be an issue, though.
I think so. Although new_device() is called without lock, no data plane threads
can operate vrings if device is not created.
Thanks,
Jiayu
More information about the dev
mailing list